Partage

'Icône Linkedin 'Icône Twitter 'Icône Facebook

Envoyer des e-mails sur Symfony avec Swift mailer VS avec le composant Mailer : quelle différence ?


plante devant ordinateur

Envoyer des e-mails sur Symfony avec Swift mailer VS avec le composant Mailer : quelle différence ?

D’abord Swift Mailer

Dans les premiers jours de PHP, les développeurs utilisaient la fonction mail() intégrée pour envoyer un e-mail. Cette fonction pouvait souvent échouer sans prévenir et surtout sans vraiment de raison apparente. Swift Mailer est arrivé au début des années 2000 en tant que bibliothèque gratuite liée à Symfony et qui permet d’envoyer des e-mails avec encore plus de fonctionnalités :

  • Ajout de pièces jointes sans utiliser trop de mémoire
  • Meilleure gestion des multi-destinataires
  • Paramétrage d’un SMTP
  • Gestion des délais lors d’envois de mails en masse
  • Facilité pour gérer les headers, …
  • Envoi d’e-mails en plusieurs parties / HTML
  • Connection à des serveurs qui nécessitent identifiants et mots de passe

La première version de Swift Mailer a été testée pendant longtemps et a été publiée en 2009. Cette version avait pourtant mis de coté les fonctionnalités PHP modernes suivantes :

  • Il utilise des traits de soulignement dans les noms de classe au lieu de l’espacement des noms propres ( \Swift_Mailer vs Swift\Mailer) -Pas d’utilisation de types scalaires et d’autres fonctionnalités de PHP 7.

Passons à Mailer

Mailer propose une base de code moderne ainsi qu’une structure de classe simplifiée. C’est-à-dire que chaque message est plus petit et plus simple que l’équivalent avec Swift Mailer. Un message avec Swift message est composé de 38 objets et mesure environ 16 Ko de long. Alors que le même message avec Mailer n’est composé seulement de 7 objets et mesure environ 2Ko de long. Mieux encore, il est possible d’utiliser un seul modèle pour le HTML, le texte brut, la ligne d’objet et même les pièces jointes. Mailer possède une bibliothèque beaucoup plus petite que Swift Mailer, pour autant elle contient de nombreuses fonctionnalités. Par exemple, il est possible d’utiliser un seul modèle pour le HTML, le texte brut, la ligne d’objet et même les pièces jointes. Il est également possible d’envoyer des e-mails en arrière-plan ce qui n’est pas possible avec les applications Web. En effet cela peut ralentir votre application. C’est une bonne pratique d’utiliser un autre processus pour envoyer des e-mails en arrière-plan. Symfony a ensuite développé Bobines Swift Mailer pour y parvenir.

Quel choix faire aujourd’hui ?

Quand utiliser Swift Mailer ?

  • Si vous avez une application existante qui l’utilise, ou vous créez une application qui sera bientôt publiée ;
  • Si vous en êtes venu à compter sur les fonctionnalités fournies par le bundle
  • Si vous êtes bloqué sur une ancienne version de PHP
  • Si vous êtes plus préoccupé par la stabilité que par les nouvelles fonctionnalités.

Quand utiliser Symfony Mailer ?

  • Si vous travaillez sur une toute nouvelle application et le serez pendant un certain temps

  • Si vous n’avez pas peur de casser les changements entre les versions mineures

  • Si vous utilisez déjà le composant Messenger dans votre application

  • Si vous accordez plus d’importance aux nouvelles fonctionnalités qu’à la stabilité.

Conclusion

Le développement est aujourd’hui presque suspendu. Mailer et ses fonctionnalités représentent l’avenir. En effet son aspect simple d’utilisation rappelle une approche de « retour aux bases » tout à fait appréciable.

Nous espérons que cet article vous aura aidé et y voir plus claire et à comprendre la différence entre Swift Mailer et Symfony Mailer.

Poursuivez votre lecture sur ce(s) sujet(s) :