Symfony 2:Swiftmailer例外

时间:2012-02-17 10:17:57

标签: email symfony swiftmailer

我一直在使用Swiftmailer发送Symfony 2电子邮件。

这是app / config / config.yml

中的swiftmailer配置
swiftmailer:
 transport: gmail
 username:  myusername@gmail.com
 host:      smtp.gmail.com
 password:  mypassword

我还配置了我的xampp localhost来发送电子邮件。

我有一个用户输入电子邮件地址(最多5封电子邮件),主题和消息的表单。对于提交表单的前几个测试,发送的电子邮件。我实际上也收到了电子邮件。但在那之后,我一再得到这个错误。

  

使用1个可能的身份验证器,无法使用用户名“myusername@gmail.com”在SMTP服务器上进行身份验证   500内部服务器错误 - Swift_TransportException

这边有什么问题?我也尝试停止我的xampp,然后重新启动它,但问题仍然存在。有没有人知道这里的问题是什么?

谢谢。

2 个答案:

答案 0 :(得分:2)

您遇到此问题是因为您没有正确设置邮件主机。 首先,我强烈建议您使用SendGrid等服务,并按照此Symfony2 Mailing Setup Tutorial详细说明进行配置:

mailer_transport: smtp
mailer_host: smtp.sendgrid.net
mailer_user: your_sendgrid_username
mailer_password: 'your_sendgrid_password'
mailer_port: 587

本教程还包含有关如何在Symfony2中正确设置邮件服务以及如何构建邮件模板的详细信息。

但如果您仍想使用Gmail,那么正确的配置是:

mailer_transport: smtp
mailer_host: smtp.gmail.com
mailer_user: your_gmail_address@gmail.com
mailer_password: 'your_gmail_password'
mailer_port: 587

答案 1 :(得分:0)

我记得host值被忽略,当transport设置为gmail时。关于您的问题,请确保您使用的是最新版本的SwiftMailer(v4.1.5),因为它已经修复。来自changelog:

  • 阻止stream_socket_client()生成错误并抛出Swift_TransportException

通常,如果身份验证失败,则类型Swift_TransportException的异常将会出现 被抛出。