PHPMailer的无法连接到SMTP服务器(PHPmailer can't connect

2019-10-30 09:29发布

我一直在使用的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(); } 

我的亚马逊帐户仍然高达日期和活跃。 有没有办法打印出更详细的错误封邮件进行调试? 以前有任何已知的问题了吗?

Answer 1:

尝试:

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


Answer 2:

这是一个非常古老的问题,但我只是有同样的问题,所以它仍然可能与他人。 如果它停止,而你改变的东西,它可能连接到您的托管公司/ ISP阻止SMTP流量从服务器到其他服务器工作。 有这个几个主题,如使用交友和也GoDaddy的已经实施了打击垃圾邮件的措施等多个托管公司。 尝试:

$mail->SMTPDebug = 3;

获取详细的对错误的最高水平。 一个解决方案是使用邮件服务器在同一个托管帐户(如果它阻止SMTP向外面看,它可能有一个内部服务,您可以使用)。 如要继续使用亚马逊SES你需要打开你的服务器上的SMTP流量。 如果你有超过交友/南国“调整设置”控制你可以自己做,否则你要问您的托管服务提供商。 检查这个答案详细信息“密码不是从服务器接受:535个不正确的认证数据”与Gmail和PHPMailer的发送时



文章来源: PHPmailer can't connect to smtp server