我用symfony 4编写了一个应用程序。 我将其部署在heroku上。 除发送电子邮件外,其他所有操作均应正常进行。 当我尝试从控制台像这样发送电子邮件时:
heroku run php bin/console swiftmailer:email:Send
刷新电子邮件队列时发生异常:使用用户名“ healthcard95@gmail.com”在SMTP服务器上无法使用1种可能的身份验证进行身份验证 ors。 Authenticator LOGIN返回了Swift_TransportException:预期的响应代码235 请通过网络浏览器登录,然后重试。 在https://support.google.com/mail/answer/78754上了解更多信息i65sm11848023qkh.49-gsmtp 在/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php:457
中
这是我的swiftmailer.yaml文件:
swiftmailer:
transport: gmail
username: username
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
如何解决此错误?
答案 0 :(得分:0)
问题出在Gmail中。 尽管我已设置安全性以允许安全性较低的应用程序,并且当我在gmail heroku中执行相同的操作时可以正确发送来自本地主机的电子邮件,但我看到了一个新设备-不幸的是,我无法将其添加到受信任的设备中,因此被阻止。
解决方案是更改邮件,例如在yandex.com上。 这是为heroku正确配置的示例文件swiftmailer.yaml:
swiftmailer:
transport: smtp
username: username
password: ********
host: smtp.yandex.com
port: 465
encryption: ssl
auth-mode: login
spool: { type: 'memory' }
stream_options:
ssl:
allow_self_signed: true
verify_peer: false
verify_peer_name: false