0

我在使用 PHPMailer 时遇到了麻烦。我有一个 PHP 页面,在完成所有功能后应该发送一封带有 PHPMailer 和 SMTP 身份验证的电子邮件。

一切似乎都运行良好,除了有时,显然是随机的,代码

SMTPDebug = 1

返回

SMTP ->ERROR: DATA not accepted from server.
SMTP ERROR: DAta not accepted.   

在 95% 的时间里一切正常并且电子邮件到达:这可能是某种我无法解决的服务器问题?我使用 TMDHosting。真的不知道要纠正什么..这是我的代码

$mail = new PHPMailer();

$mail -> CharSet = 'UTF-8';
$mail -> AddReplyTo('mail@domain.it', 'SomeValue');
$mail -> SetFrom('mail@domain.it', $piede);
$subj = $piede . ' - Comment';
$mail -> Subject = $subject;
$mail -> SMTPDebug = 1;
$mail -> AddAddress($to);
$mail -> IsHTML();
$mail -> MsgHTML($message);
$mail -> IsSMTP();
$mail -> SMTPAuth = true;
$mail -> Host = 'mail.domain.com';
$mail -> Port = 2525;
$mail -> Username = 'mail@domain.com';
$mail -> Password = $mailPsw;
if ($mail -> Send()) {
echo 'OK';
} else {
echo $mail -> ErrorInfo;
} 

有什么提示吗?谢谢

4

1 回答 1

0

可能有各种原因...

其中之一可能是服务器行为不正常。

现在因为它只发生几次,这意味着 smtp 服务器正试图通过限制或速率限制来限制您的连接。

不要试图用大量邮件发送垃圾邮件或轰炸系统,现在邮寄者对那里的规范非常严格。

还可以尝试通过 telnet 运行脚本以发送大量邮件,看看是否仍然收到任何错误。需要对来自 SMTP 服务器的错误进行正确描述以分析情况。

于 2013-03-28T05:47:02.620 回答