7

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.

Community
  • 1
  • 1
Salve Safari
  • 250
  • 1
  • 3
  • 10

5 Answers5

14

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
Salve Safari
  • 250
  • 1
  • 3
  • 10
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
ar34z
  • 2,609
  • 2
  • 24
  • 37
2

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

shakaran
  • 10,612
  • 2
  • 29
  • 46
1

Comment out the spooler line

swiftmailer:
url: '%env(MAILER_URL)%'
#spool: { type: 'memory' }
Edmunds22
  • 715
  • 9
  • 10
0

MAILER_URL must be url encoded. Check out the documentation at: https://symfony.com/doc/current/email.html#configuration

If your password had some special characters in it, that needed to be url encoded, it won't work.

Hope it helps.

Dbl0McJim
  • 196
  • 1
  • 13