Symfony 4 SwiftMailer Gmail : Email not sent

21,082

Solution 1

Problem solved!! Put this configuration instead of using the URL env variable

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

Solution 2

Late to the party, but the URL format requires full settings. I don't think SwiftMailer parses the URL to detect a specific transport (like gmail) to configure the reset by itself.

The following format worked for me:

MAILER_URL=smtp://smtp.gmail.com:587?encryption=tls&username=USERNAME&password=PASSWORD

Solution 3

In my experience, you will need enable "Allow unsafe logins" in a Google Suite or Gmail account since they prevent access via SMTP.

Solution 4

Comment out the spooler line

swiftmailer:
url: '%env(MAILER_URL)%'
#spool: { type: 'memory' }
Share:
21,082
Salve Safari
Author by

Salve Safari

Updated on June 10, 2021

Comments

  • Salve Safari
    Salve Safari almost 3 years

    I'm currently working on a Symfony 4 application and I need to send emails throught Swift Mailer. When I send an email, I receive the email spooled but I don't get it in my Gmail Mailbox. I allowed unsecure apps in my gmail configuration.

    This is my mailer URL from .env file : MAILER_URL=gmail://ep****@gmail.com:PASSWORD@localhost

    This is my swiftmailer.yaml:

        #config/packages/swiftmailer.yaml
        swiftmailer:
            url: '%env(MAILER_URL)%'
            spool: { type: 'memory' }
    

    This is my controller function:

    src/Controller/AccountController.php

    After completing a form

    This is the documentation I've followed : http://symfony.com/doc/current/email.html

    I've checked these questions but they don't give me the answer : How to send emails with Symfony 4 Swiftmailer from a local machine running on Windows 10? , mailer symfony 4 not working

    Please, I need help. I've looked for the solution all day long. I get no errors but I don't receive the mail. Thanks in advance. Any link can help me.

  • Miles M.
    Miles M. almost 6 years
    Merci! That made the trick. Any idea why the .env file not working ?
  • Robert Saylor
    Robert Saylor over 5 years
    I noticed going from Symfony 3 to Symfony 4 local SMTP is not enabled anymore. To use local SMTP in your .env set MAILER_URL=smtp://localhost:25?encryption=&auth_mode=
  • Anjana Silva
    Anjana Silva over 5 years
    Sage answer. Saved hours of frustration. Thank you @Selve!
  • Ahmed Ismail
    Ahmed Ismail almost 4 years
    Thank you so much you helped me a lot :)