【发布时间】:2015-09-05 17:54:47
【问题描述】:
我正在使用 Symfony,我正在尝试使用 swiftmailer 发送电子邮件。我有一个使用谷歌应用程序 (produccion@mydomain.com) 设置的帐户,当我尝试发送时显示以下错误:
无法使用用户名在 SMTP 服务器上进行身份验证 "produccion@mydomain.com" 使用 2 个可能的身份验证器
我使用我的个人 gmail 帐户进行了尝试,并使用相同的设置正确发送了消息。只需更改用户名和密码即可。
# Swiftmailer Configuration
swiftmailer:
transport: smtp
host: smtp.gmail.com
username: produccion@mydomain.com #email@gmail.com
password: google_app_password #gmail_password
auth_mode: login
port: 587
encryption: tls
我一直在搜索互联网,并从 Google 找到了这个页面,我可以在其中更改对不太安全的应用程序的访问。 https://www.google.com/settings/security/lesssecureapps
在我的 gmail 帐户中,此选项处于活动状态,但如果我转身,在发送电子邮件时会显示相同的错误。 我一直在尝试更改 google app 帐户中的此设置,但它告诉我此选项不适用于 google app。
知道通过 google 应用程序从该帐户发送电子邮件吗?我必须设置其他东西吗?
编辑 似乎 Gmail 更喜欢 OAuth,Swiftmailer 支持这种身份验证机制,但它并没有真正记录在案。
https://developers.google.com/gmail/xoauth2_protocol https://github.com/swiftmailer/swiftmailer/blob/5.x/lib/classes/Swift/Transport/Esmtp/Auth/XOAuth2Authenticator.php
知道我如何在 Symfony 中使用它吗?
【问题讨论】:
-
我相信链接的选项只是消费者帐户。我建议使用 Google 的 SMTP 中继服务,详细信息请参见 support.google.com/a/answer/2956491,以便在应用程序中设置此类内容。
标签: email symfony gmail google-apps swiftmailer