尝试在我的 Symfony 5.1 应用程序上使用带有 Gmail 的 Symfony 邮件程序。
mailer.yaml:
framework:
mailer:
dsn: '%env(MAILER_DSN)%'
.env:
MAILER_DSN=gmail+smtp://[email protected]:mypassword@localhost
但是每次我发送邮件时,我都会收到:
Connection could not be established with host "ssl://smtp.gmail.com:465": stream_socket_client():
SSL operation failed with code 1. OpenSSL Error messages:
error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed
不明白为什么......根据https://symfony.com/doc/current/mailer.html它应该可以工作。
我在 Gmail 帐户上激活了低安全性应用程序。
感谢您的帮助
要使用 Gmail,您需要安装包
symfony/google-mailer
(composer require symfony/google-mailer
)
您的 .env 文件中的此配置:
###> symfony/google-mailer ###
# Gmail SHOULD NOT be used on production, use it in development only.
MAILER_DSN=gmail://YourEmailAddress:YourPassword@default?verify_peer=0
###< symfony/google-mailer ###
一个例子:
MAILER_DSN=gmail://[email protected]:admin123@default?verify_peer=0
警告:
虽然不建议禁用此验证 出于安全原因,它在开发应用程序或 使用自签名证书时
我知道您说过您已经做到了,但我通常会收到此错误,因为我需要在我的 Gmail 帐户上允许“安全性较低的应用程序”。
这可以来自 config/packages/messenger.yaml 定义的异步属性 请参阅https://github.com/symfony/symfony/issues/45811