SwiftMailer不使用Google App帐户发送邮件

时间:2015-06-19 16:54:10

标签: email symfony gmail google-apps swiftmailer

我正在使用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中使用它吗?

1 个答案:

答案 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