0

我已经为这个错误苦苦挣扎了两天。但我不知道发生了什么。

使用 phpMailer 和 gmail 帐户一切正常。由于 gmail 有每日发送限制,我们想改用 sparkPost。然后,当我们将用户更改为 sparkPost 时,我们注意到一些电子邮件失败了。

我们有这个 phpmailer 代码:

$mail = new PHPMailer();
$mail->SMTPDebug = 1;
$mail->isSMTP();
$mail->Host = 'smtp.sparkpostmail.com';
$mail->Port = 587;
$mail->SMTPSecure = 'tls';
$mail->IsHTML(true);
$mail->CharSet = "UTF-8";
$mail->SMTPAuth = true;
$mail->Username = ''; //Sparkpost user
$mail->Password = ''; //Sparkpost pass   
$mail->setFrom($from, 'From Alias');
$mail->addAddress($recipient);
$mail->Subject = html_entity_decode( $subject , ENT_QUOTES, 'UTF-8') ;
$mail->Body    = $body;
$send = $mail->Send();
if (!$send) {
  $loginfo .= "Mailer Error: " . $mail->ErrorInfo . "\n";
 //Sends an email when the error ocurrs
} else {
  $loginfo .= "Mail has been sent";
     //OK
}

我在 setFrom() 中尝试了 3 个不同的电子邮件地址,但它们都至少失败了一次。我这样说是因为并不总是失败。例如,使用我尝试的最后一个地址,我们发送了 21 封电子邮件,其中只有 2 封因此错误而失败。

编辑这是我通过 SMTPDebug = 2 获得的信息:

SMTP 错误:不接受数据。

SMTP 服务器错误:2.0.0 RCPT TO 已接受

DebugInfo: SMTP -> FROM SERVER:220 2.0.0 smtp.sparkpostmail.com ESMTP ecelerity 4.2.27.58261 r(Core:4.2.27.6) Wed, 11 Jan 2017 12:07:04 +0000


SMTP -> 从服务器:250-momentum5.platform1.us-west-2.aws.cl.messagesystems.com 说 EHLO 到 54.154.106.22:35238 250-8BITMIME 250-STARTTLS 250-AUTH=LOGIN PLAIN 250-AUTH LOGIN PLAIN 250-流水线 250 增强状态代码


SMTP -> FROM SERVER:220 2.0.0 继续


SMTP -> 从服务器:250-momentum5.platform1.us-west-2.aws.cl.messagesystems.com 说 EHLO 到 54.154.106.22:35238 250-8BITMIME 250-AUTH=LOGIN PLAIN 250-AUTH LOGIN PLAIN 250-PIPELINING 250 个增强状态代码


SMTP -> 错误:服务器不接受密码:
SMTP -> FROM SERVER:235 2.0.0 Authed。继续。


SMTP -> 错误:RSET 失败:235 2.0.0 已验证。继续。


SMTP -> FROM SERVER:250 2.0.0 RSET OK


SMTP -> FROM SERVER:250 2.0.0 MAIL FROM 接受


SMTP -> FROM SERVER:250 2.0.0 RCPT TO 接受


SMTP -> 错误:服务器未接受 DATA 命令:250 2.0.0 RCPT TO 已接受


SMTP 错误:不接受数据。

任何想法?提前致谢

4

0 回答 0