我有一个symfony1应用程序,它包含以下因素。yml文件:
mailer:
param:
delivery_strategy: realtime
transport:
class: Swift_SmtpTransport
param:
host: smtp.gmail.com
port: 465
encryption: ssl
username: my.user@gmail.com
password: my_password
密码和用户名是正确的,因为我可以用它们简单地登录到gmail。我在使用gmail smtp发送邮件时遇到了symfony/swift mailer问题。我提交了正确的用户名/密码,但谷歌屏蔽了,说服务器在俄罗斯(提供IP),说它不信任它等等,以防这是一次安全攻击。不管怎样,是我,我只想用gmail发送电子邮件。
最初的gmail警告电子邮件是波兰语的,翻译版本是这样的:
最近有人使用您的密码登录您的Google帐户my.user@gmail.com。此人已收到应用程序(例如客户端电子邮件)或移动设备。
我们阻止了登录尝试,以防有人想闯入您的帐户。查看这些信息:
2013年12月12日星期四8:13:15 UTC IP地址:62.212.65.74(s99.linuxpl.com)位置:俄罗斯
如果您无法识别登录尝试,其他人可能会尝试访问您的帐户。一旦您登录并重置密码。
如果这是您,并且您在访问帐户时遇到问题,请按照上提供的故障排除说明进行操作http://support.google.com/mail?p=client_login
此致,谷歌账户团队
该链接解释了如何像雷鸟一样使用smtp客户端,但没有说明像swift mailer这样的软件。
symfony调试环境显示以下错误代码:
Expected response code 250 but got code "530", with message "530-5.5.1 Authentication Required. Learn more at
530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 a51sm103278568eeh.8 - gsmtp
有人知道我能做什么吗?
这似乎很奇怪,因为在提到的谷歌链接中没有关于这方面的信息,但不知怎么的,我在网上找到了这些信息:
你可以试着去https://accounts.google.com/DisplayUnlockCaptcha它显示一个按钮,允许从远处的机器/设备(而不是你刚刚登录的那个)访问这个gmail帐户。我按下按钮并重试邮件发送,现在一切正常(配置保持100%不变)。
希望它能帮助到别人。
在我的案例中,这是一个安全问题,请参阅下文https://www.google.com/settings/security/lesssecureapps