我目前工作的一个Symfony的4应用程序,我需要发送电子邮件throught斯威夫特梅勒。当我发送一封电子邮件,我收到的电子邮件假脱机,但我没有在我的Gmail邮箱得到它。我可以在我的gmail的配置不安全的应用程序。
这是.ENV文件我的邮件地址:MAILER_URL = Gmail的://ep****@gmail.com:PASSWORD @本地
这是我的swiftmailer.yaml:
#config/packages/swiftmailer.yaml
swiftmailer:
url: '%env(MAILER_URL)%'
spool: { type: 'memory' }
这是我的控制器功能:
这是我所遵循的文档:http://symfony.com/doc/current/email.html
我已经检查了这些问题,但他们不给我答案:How to send emails with Symfony 4 Swiftmailer from a local machine running on Windows 10?,mailer symfony 4 not working
拜托,我需要帮助。整天我看的解决方案。我没有得到任何错误,但我没有收到邮件。提前致谢。任何链接可以帮助我。
问题解决了!!将这个配置,而不是使用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
迟到了,但是URL格式需要全面的设置。我不认为SwiftMailer分析URL来检测特定的传输(如gmail
)本身配置复位。
下面的格式为我工作:
MAILER_URL=smtp://smtp.gmail.com:587?encryption=tls&username=USERNAME&password=PASSWORD
MAILER_URL必须经过网址编码。退房的文档:https://symfony.com/doc/current/email.html#configuration
如果您的密码有它的一些特殊字符,需要进行URL编码,它不会工作。
希望能帮助到你。
根据我的经验,你将需要启用“Allow unsafe logins”在谷歌套件或Gmail帐户,因为他们阻止通过SMTP访问。
注释掉后台打印线
swiftmailer:
url: '%env(MAILER_URL)%'
#spool: { type: 'memory' }