【发布时间】:2013-03-30 14:10:22
【问题描述】:
我花了 6 个小时来解决这个问题。但是没有任何意义。这是场景;有一个格式良好的HTML 模板。
$mail_body = '
<b>Message Num :</b> 769<br />
<b>Message Date :</b> 2013-04-08 09:03:21<br />
<b>Name :</b> John Doe<br />
<b>Phone :</b> 123456789<br />
<b>E-mail :</b> abcdf@somedomain.com<br />
<b>Message :</b> Here is the message info<br />
';
这是收件人邮件的数组;
$recipients = array("abc@something.com","xyz@somtehing.com");
一切看起来都很好,可以发送电子邮件了。这里是 phpmailer 配置;
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->From = "noreply@something.com";
$mail->FromName = "TEST";
$mail->WordWrap = 50;
foreach($recipients as $mail_add) {
$mail->AddAddress($mail_add);
}
$mail->IsHTML(true);
$mail->Subject = "TEST Subject";
$mail->Body = $mail_body;
if(!$mail->Send()) {
echo $mail->ErrorInfo;
} else {
echo "Mail sent...";
}
当我测试它时,一切都是一样的。但有时会发送电子邮件。有时它没有发送。给我以下错误:The following SMTP Error: Data not accepted.
希望我解释一下
【问题讨论】:
-
您想通过外部 SMTP 服务器发送吗?如果没有,则不需要此行:
$mail->IsSMTP();如果是,请配置 php mailer smtp 属性。 -
我使用
SMTP server。它是由服务器管理员配置的。它工作正常。但有时电子邮件无法发送。 -
smtp 服务器在你的代码所在的同一台服务器上?
-
我真的很想知道错误来源是 SMTP 服务器还是我的代码?如果我的代码有问题,为什么有时会发送?
-
@Kovge 是的,他们都在同一台服务器上。