我正在使用phpmailer在Yii1中发送邮件。我开发的系统每天发送数千封电子邮件。通常它的工作正常,但有时系统无法发送电子邮件。一段时间后邮件成功发送(如果系统第一次无法发送电子邮件,那么它将再次尝试 )。我有时会收到不同类型的电子邮件错误。不确定如何解决这些错误:
以下发件人地址失败:test@test.com:MAIL未被接受 来自服务器,x.x.x.x SMTP;客户端未经过身份验证即可发送 MAIL FROM期间的匿名邮件 [MWHPR11CA0017.namprd11.prod.outlook.com] SMTP服务器错误:5.7.57 SMTP;客户端未经过身份验证,无法在MAIL期间发送匿名邮件 来自[MWHPR11CA0017.namprd11.prod.outlook.com]
test@test.com:MAIL不接受服务器
数据未被接受.STP服务器错误:2.1.5收件人确定
test@test.com:MAIL不接受服务器,354,开始邮件输入; 结束于< CRLF>。< CRLF> SMTP服务器错误:启动邮件输入;结束 与< CRLF>。< CRLF> SMTP服务器错误:启动邮件输入;结束 < CRLF>。< CRLF>
以下收件人失败:xxx@xxx.com
以上是我有时会遇到的不同类型的错误。对于#5,似乎收件人不正确,所以一个人没事。但其他人呢?如何解决?
答案 0 :(得分:4)
根据服务器上安装的MTA(邮件传输代理),使用的端口和SMPT设置,您可能需要在服务器上创建“来自”用户帐户。
如果您使用的是SSL / TLS,请确保数字证书存在且尚未过期。还要确保您的服务器的操作系统和MTA是最新的安全标准 - 如果与最新的行业标准不兼容,可能会导致握手/交付机制出现问题。
答案 1 :(得分:3)
您始终可以使用服务器上的命令mail
进行调试。但正如@argon已经回答,问题可能出在SMTP服务器上。
如果您要发送
,我热烈建议使用外部电子邮件营销服务每天有数千封电子邮件。
您的服务器信誉只会变得更糟,并且会直接发送垃圾邮件或被SMTP拒绝(如您的情况)。