PHPmailer无法连接到smtp服务器

时间:2013-05-02 19:48:18

标签: php amazon-web-services smtp phpmailer

我一直在使用PHPmailer(https://github.com/Synchro/PHPMailer)通过亚马逊SES发送电子邮件几个月。在过去两周的某个时间,它已停止工作,我没有触及它。我收到错误信息:

SMTP Error: Could not connect to SMTP host.

这是我的代码。

public function sendEmail($to,$subject,$body){

    $mail = new PHPMailer;
    $mail->IsSMTP();     // Set mailer to use SMTP
    $mail->Host = 'amazonaws....';  // Specify main and backup server
    $mail->SMTPAuth = true;  // Enable SMTP authentication    
    $mail->Username = 'mySMTPuname';   // SMTP username
    $mail->Password = 'smtpPword';   // SMTP password
    $mail->SMTPSecure = 'tls';  // Enable encryption, 'ssl' also accepted
    $mail->From = 'example';
    $mail->FromName = 'me';
    $mail->AddAddress($to); // Name is optional
    $mail->IsHTML(true); // Set email format to HTML

    $mail->Subject = $subject;
    $mail->Body    = $body;

    return $mail->Send();       
}

public function sendEmail($to,$subject,$body){ $mail = new PHPMailer; $mail->IsSMTP(); // Set mailer to use SMTP $mail->Host = 'amazonaws....'; // Specify main and backup server $mail->SMTPAuth = true; // Enable SMTP authentication $mail->Username = 'mySMTPuname'; // SMTP username $mail->Password = 'smtpPword'; // SMTP password $mail->SMTPSecure = 'tls'; // Enable encryption, 'ssl' also accepted $mail->From = 'example'; $mail->FromName = 'me'; $mail->AddAddress($to); // Name is optional $mail->IsHTML(true); // Set email format to HTML $mail->Subject = $subject; $mail->Body = $body; return $mail->Send(); }

我的亚马逊帐户仍然是最新且活跃的。有没有办法打印出更详细的错误消息进行调试?最近有没有已知的问题?

2 个答案:

答案 0 :(得分:0)

尝试:

$mail->SMTPDebug = 1;
// if you're using SSL
$mail->SMTPSecure = 'ssl';
// OR use TLS
$mail->SMTPSecure = 'tls';

答案 1 :(得分:0)

这是一个非常老的问题,但是我也遇到了同样的问题,因此它可能仍然与其他问题有关。 如果在不进行任何更改的情况下停止工作,则可能是您的托管公司/ isp已连接,从而阻止了从服务器到其他服务器的SMTP通信。 有几个主题,因为使用Cpanel和Godaddy的多家托管公司已实施了此类措施来打击垃圾邮件。 试试:

$mail->SMTPDebug = 3;

以获取有关错误的最大详细程度。 一种解决方案是在同一托管帐户中使用邮件服务器(如果它将SMTP阻止到外部,则它可能具有可以使用的内部服务)。 要继续使用Amazon SES,您需要在服务器上打开SMTP通信。 如果您可以控制Cpanel / WHM“调整设置”,则可以自己进行,否则,您需要询问托管服务提供商。 查看此答案以获取详细信息"Password not accepted from server: 535 Incorrect authentication data" when sending with GMail and phpMailer