【问题标题】:Symfony 2 : Swiftmailer exceptionSymfony 2:Swiftmailer 异常
【发布时间】:2012-03-08 17:53:51
【问题描述】:

我一直致力于使用 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 然后重新启动它,但问题仍然存在。有人知道这里有什么问题吗?

谢谢。

【问题讨论】:

    标签: email symfony swiftmailer


    【解决方案1】:

    您遇到此问题是因为您没有正确设置您的邮件主机。 首先,我强烈建议您使用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
    

    【讨论】:

      【解决方案2】:

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

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

      一般来说,如果身份验证失败,Swift_TransportException 类型的异常将 被扔掉。

      【讨论】:

        猜你喜欢
        • 2012-09-19
        • 1970-01-01
        • 1970-01-01
        • 2019-11-02
        • 2014-04-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-04
        相关资源
        最近更新 更多