我正在使用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帐户中,此选项处于活动状态,但如果我在发送电子邮件时向我显示相同的错误。 我一直试图在谷歌应用程序帐户中更改此设置,但它告诉我此选项不适用于谷歌应用程序。
是否有任何想法通过谷歌应用程序从此帐户发送电子邮件?我必须设置别的东西吗?
修改 似乎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中使用它吗?
答案 0 :(得分:0)
您是否尝试过将参数设置为gmail,如食谱中所述? http://symfony.com/doc/current/cookbook/email/gmail.html
# Swiftmailer Configuration
swiftmailer:
transport: gmail
username: your_gmail_username
password: your_gmail_password