我一直在努力解决这个错误两天。但我不知道发生了什么。
使用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(核心:4.2.27.6)2017年1月11日星期三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 =登录平原 250-AUTH LOGIN PLAIN 250-PIPELINING 250 ENHANCEDSTATUSCODES
SMTP - >从服务器: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 =登录平原250-AUTH 登录PLAIN 250-PIPELINING 250 ENHANCEDSTATUSCODES
SMTP - >错误:服务器不接受密码:
SMTP - > FROM SERVER:235 2.0.0 Authed。继续。
SMTP - >错误:RSET失败:235 2.0.0 Authed。继续。
SMTP - >从服务器:250 2.0.0 RSET确定
SMTP - > FROM SERVER:250 2.0.0 MAIL FROM accepted
SMTP - >从服务器:250 2.0.0 RCPT到接受
SMTP - >错误:服务器不接受DATA命令:250 2.0.0 RCPT TO接受
SMTP错误:数据未被接受。
有什么想法吗? 提前致谢