2012-02-17 102 views
0

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

这是在app /配置/ config.yml

swiftmailer: 
transport: gmail 
username: [email protected] 
host:  smtp.gmail.com 
password: mypassword 

我也配置了我的XAMPP本地主机发送电子邮件我swiftmailer配置。

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

失败使用1个可能的认证者 500内部服务器错误的用户名与SMTP服务器上进行身份验证 “[email protected]” - Swift_TransportException

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

谢谢。

回答

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: [email protected] 
mailer_password: 'your_gmail_password' 
mailer_port: 587 
0

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

  • 防止stream_socket_client()从产生错误并抛出Swift_TransportException代替

一般来说,如果认证失败,Swift_TransportException类型的异常会 被抛出。