我知道这个PHPMailer问题可能是评论最多的问题之一,老实说,我从来没有遇到过这样的问题。但是我最近开始收到“无法连接到服务器:(0)”错误。我尝试将PHPMailer更新到最新版本,但似乎无济于事。我也将调试级别设置为2,但是它没有提供任何特定信息。这是我的实现:
$mail = new PHPMailer(true);
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com'; //gmail SMTP server
$mail->SMTPAuth = true;
$mail->Username = '-------@gmail.com'; //username
$mail->Password = '-------------'; //password
$mail->SMTPSecure = 'ssl';
$mail->Port = 465 ;
$mail->isHTML(true);
$mail->CharSet = 'UTF-8';
$mail->SMTPDebug = 2;
$mail->setFrom('-----@---------.net', 'contact form');
$mail->addAddress('-----------------@hotmail.com', 'Admin');
$mail->Subject = $email_subject;
$mail->Body = $email_body;
$mail->AltBody = htmlspecialchars(strip_tags($email_body));
我的Google帐户启用了IMAP设置,并且应用程序的安全性较低。我想指出的是,我尝试在端口587上使用tls,但没有结果。奇怪的是,这段代码以前曾经可以工作,有什么可能改变了?
编辑:这是我尝试使用tls连接时得到的日志:
2019-03-14 21:52:38服务器->客户:220 smtp.gmail.com ESMTP y140sm743514wmd.18-gsmtp
2019-03-14 21:52:38客户端->服务器:EHLO localhost
2019-03-14 21:52:38服务器->客户:250-smtp.gmail.com为您提供服务,[212.25.63.79] 250-SIZE 35882577250-8BITMIME250-STARTTLS250-ENHANCEDSTATUSCODES250-PIPELINING250-CHUNKING250 SMTPUTF8
2019-03-14 21:52:38客户端->服务器:STARTTLS
2019-03-14 21:52:38服务器->客户:220 2.0.0准备启动TLS
SMTP错误:无法连接到SMTP主机。
2019-03-14 21:52:38客户端->服务器:退出
2019-03-14 21:52:38服务器->客户: