Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
symfony4:email [2019/09/20 07:52] marclebrun [Configuration] |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Email ====== | ||
- | |||
- | Liens: | ||
- | * Doc: [[https://symfony.com/doc/current/email.html]] | ||
- | * [[https://codereviewvideos.com/course/symfony-4-beginners-tutorial/video/send-email-symfony-4]] | ||
- | * [[https://kinsta.com/fr/base-de-connaissances/serveur-smtp-gratuit/|Comment utiliser le serveur SMTP gratuit de Google pour envoyer des emails]] | ||
- | |||
- | ===== Swift Mailer ===== | ||
- | |||
- | **Swift Mailer** est déjà inclus dans les dépendances du projet : | ||
- | |||
- | <code json composer.json> | ||
- | { | ||
- | "require": { | ||
- | "symfony/swiftmailer-bundle": "^3.1", | ||
- | } | ||
- | } | ||
- | </code> | ||
- | |||
- | Si ce n'est pas le cas, faire ceci : | ||
- | |||
- | <code bash> | ||
- | composer require symfony/swiftmailer-bundle | ||
- | </code> | ||
- | |||
- | ===== Configuration ===== | ||
- | |||
- | La configuration se fait via la variable **MAILER_URL** dans le fichier **.env**. | ||
- | |||
- | ==== Utiliser le SMTP de Google ==== | ||
- | |||
- | Pour que cela fonctionne il faut aller dans les paramètres du compte Gmail, dans la | ||
- | section **Sécurité** et activer **Accès moins sécurisé des applications**. | ||
- | |||
- | Dans **.env** : | ||
- | |||
- | <code> | ||
- | # Remplacer [ADRESSE-GMAIL] par l'adresse Gmail COMPLÈTE (nom@gmail.com) | ||
- | # Remplacer [MOT-DE-PASSE] par le mot de passe de ce compte Gmail | ||
- | |||
- | MAILER_URL=smtp://smtp.gmail.com:465?encryption=ssl&auth_mode=login&username=[ADRESSE-GMAIL]&password=[MOT-DE-PASSE] | ||
- | </code> | ||
- | |||
- | ===== Envoi d'un email ===== | ||
- | |||
- | Dans une fonction d'un contrôleur : | ||
- | |||
- | <code php> | ||
- | public function index(Request $request, \Swift_Mailer $mailer) { | ||
- | |||
- | $message = (new \Swift_Message('Sujet du message')) | ||
- | ->setFrom('envoyeur@mail.com') | ||
- | ->setTo('destinataire@mail.com') | ||
- | ->setBody( | ||
- | "Texte du message", | ||
- | 'text/plain' | ||
- | ); | ||
- | |||
- | $mailer->send($message); | ||
- | |||
- | } | ||
- | </code> | ||