web-dev-qa-db-fra.com

Symfony 4 SwiftMailer Gmail: Email non envoyé

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:

src/Controller/AccountController.php

 After completing a form

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.

4
Salve Safari

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
7
Salve Safari

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
0
ar34z

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.

0
shakaran

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.

0
Dbl0McJim