yii2 Swift_TransportException 预期响应代码 250 但得到代码“550”

时间:2021-03-06 23:45:35

标签: yii2 swiftmailer contact-form mailer

我正在使用框架 yii2,当我尝试发送电子邮件时,联系页面出现问题我收到此错误“yii2 Swift_TransportException 预期响应代码 250 但得到代码“550”“即使邮件是正确的

'mailer' => [
    'class' => 'yii\swiftmailer\Mailer',
    'useFileTransport' => false,
    'transport' => [
       'class' => 'Swift_SmtpTransport',
       'host' => 'my host',
       'username' => ' my email ', 
       'password' => 'my password',
       'port' => '587',
        'encryption' => 'tls',
     ],
]

-该网站不在本地主机中 - 当我将电子邮件从我的电子邮件发送到另一个但不是相反时,邮件程序工作正常

请帮帮我

2 个答案:

答案 0 :(得分:1)

问题的本质是邮件服务器返回错误代码 550 以响应 swiftmailer 库的“发送邮件”请求。
因此,您应该查看邮件服务器的日志。

如果访问邮件服务器日志有困难,请注意您在配置中指定的连接设置。
通常,此 550 错误的发生是由于错误指定的 encryption / port 设置或邮件服务器的错误配置 smtp 系统(如果您使用自己自定义配置的邮件服务器)。< /p>

要进行测试,请尝试通过桌面邮件客户端(如 Thunderbird、Outlook 等)使用相同设置进行连接并发送测试邮件。

答案 1 :(得分:0)

对于联系表单,更好的方式是将邮件从您自己的电子邮件发送到您自己的电子邮件(甚至可能是同一电子邮件)。 此外,添加“返回地址” - Reply-To 标题(正是用户在联系表单中输入的电子邮件)。

因此,您将拥有一组这样的标题:

From: your@domain.com
To: your@domain.com
Reply-To: client@gmail.com

大多数邮件系统的安全政策禁止代表第三方电子邮件发送信件。
即使你成功了,这样的邮件也很有可能被接收方拒绝——因为发件人的电子邮件与发送服务器不匹配(简单地说)。
很可能由于这些原因,您遇到了此错误。

如果您有兴趣,可以在 swiftmailer 中启用登录 - 也许您会在日志中看到有趣的细节:
https://www.yiiframework.com/extension/yiisoft/yii2-swiftmailer/doc/api/2.1/yii-swiftmailer-logger

相关问题