swiftmailer et exemple de sauvegarde de MySQL

Swiftmailer est une librairie PHP qui permet d’envoyer des emails facilement. Je l’ai découverte dans Symfony puisqu’elle est incluse à l’intérieur. Je vais vous montrer un petit script que j’ai fait pour envoyer un dump des bases de données MySQL et qui utilise cette librairie.


Cette librairie permet d’:

  • Envoyer des messages à plusieurs personnes
  • Envoyer facilement un email en HTML
  • Envoyer des fichiers attachés

C’est cette dernière fonctionnalité qui sera utilisée.

Pour envoyer un email, il y a quelques concepts importants:

  • Il faut un transport (Swift_SmtpTransport, Swift_SendmailTransport, Swift_MailTransport). C’est la façon d’envoyer un email (sendmail, smtp, …). Il est ainsi possible d’envoyer des emails avec un serveur local, distant et même crypté. Vous pouvez d’ailleurs utiliser le smtp de gmail si cela vous fait plaisir.
  • Il faut un message (Swift_Message). C’est ce qui défini celui qui envoie, le destinataire, le sujet, le contenu, les attachements, etc.
  • Il faut un mailer (Swift_Mailer). C’est ce qui fait le lien entre le transport et le/les messages

La procédure est ainsi:

  • Créer un transport
  • Créer un mailer lié avec ce transport
  • Créer les messages
  • Envoyer les messages avec le mailer

Voici le script qui crée un dump avec mysqldump puis qui l’attache à un email.