Je travaille actuellement sur une application Symfony 4 et je dois envoyer des courriers électroniques via Swift Mailer . Lorsque j'envoie un courrier électronique, je le reçois spoulé mais je ne le reçois pas dans ma boîte aux lettres Gmail . autorisé les applications non sécurisées dans ma configuration gmail.
Voici l'URL de messagerie du fichier .env: MAILER_URL = gmail: //ep****@gmail.com: PASSWORD @ localhost
Voici mon swiftmailer.yaml:
#config/packages/swiftmailer.yaml
swiftmailer:
url: '%env(MAILER_URL)%'
spool: { type: 'memory' }
Ceci est ma fonction de contrôleur:
Voici la documentation que j'ai suivie: http://symfony.com/doc/current/email.html
J'ai vérifié ces questions mais elles ne me donnent pas la réponse: Comment envoyer des courriels avec Symfony 4 Swiftmailer à partir d'un ordinateur local fonctionnant sous Windows 10? , mailer symfony 4 ne fonctionne pas
S'il vous plaît, j'ai besoin d'aide. J'ai cherché la solution toute la journée. Je ne reçois pas d'erreur mais je ne reçois pas le courrier . Merci d'avance. Tout lien peut m'aider.
Problème résolu !! Mettez cette configuration au lieu d'utiliser la variable env URL
swiftmailer:
transport: gmail
username: ****@gmail.com
password: *******
Host: localhost
port: 465
encryption: ssl
auth-mode: login
spool: { type: 'memory' }
stream_options:
ssl:
allow_self_signed: true
verify_peer: false
verify_peer_name: false
En retard pour la fête, mais le format de l'URL nécessite des paramètres complets. Je ne pense pas que SwiftMailer analyse l'URL pour détecter un transport spécifique (comme gmail
) afin de configurer la réinitialisation par lui-même.
Le format suivant a fonctionné pour moi:
MAILER_URL=smtp://smtp.gmail.com:587?encryption=tls&username=USERNAME&password=PASSWORD
D'après mon expérience, vous devez activer " Autoriser les connexions non sécurisées " dans un compte Google Suite ou Gmail, car elles interdisent l'accès via SMTP.
MAILER_URL doit être encodé en url. Consultez la documentation à l'adresse suivante: https://symfony.com/doc/current/email.html#configuration
Si votre mot de passe contient des caractères spéciaux, qui doivent être encodés dans une URL, cela ne fonctionnera pas.
J'espère que ça aide.