yii2 Swift_TransportException 预期响应代码 250,但得到代码 "550"



我正在使用框架yii2,当我尝试发送电子邮件时,我在联系页面中遇到问题,我得到了这个错误"yii2 Swift_TransportException预期响应代码250,但得到代码"550";即使邮件器的配置是正确的

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

-网站不在本地主机上当我把邮件从我的邮箱发送给另一个邮箱时,mailer可以正常工作,但相反的邮件则不行

请帮帮我

问题的实质是邮件服务器在响应来自swiftmailer库的"发送邮件"的请求时返回了一个错误代码550
因此,您应该查看邮件服务器的日志。

如果难以访问邮件服务器日志,那么请注意在配置中指定的连接设置。
通常,这个550错误的发生是由于不正确地指定encryption/port设置或不正确地配置邮件服务器的smtp-system(如果您使用自己自定义配置的邮件服务器)。

对于测试,请尝试通过桌面邮件客户端(如Thunderbird, Outlook等)连接相同的设置并发送测试邮件。

对于联系表单,更好的方式是从你自己的电子邮件发送到你自己的电子邮件(它甚至可能是同一个电子邮件)。除此之外,还要加上"返回地址"-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

相关内容

  • 没有找到相关文章

最新更新