phpmailer和gmail SMTP错误:无法连接到服务器:无法访问网络(101)SMTP connect()失败

phpmailer和gmail SMTP错误:无法连接到服务器:无法访问网络(101)SMTP connect()失败,smtp,gmail,phpmailer,Smtp,Gmail,Phpmailer,我需要帮助 这是我的代码: require 'PHPMailerAutoload.php'; $mail = new PHPMailer; $mail->isSMTP(); $mail->Host = "smtp.gmail.com"; $mail->SMTPDebug = 2; $mail->SMTPAuth = true; $mail->SMTPSecure = "tls"; $mail->Port = 587; $mail->Username

我需要帮助 这是我的代码:

require 'PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->isSMTP();
$mail->Host = "smtp.gmail.com";
$mail->SMTPDebug = 2;
$mail->SMTPAuth = true;

$mail->SMTPSecure = "tls";
$mail->Port = 587;

$mail->Username = 'some@gmail.com';
$mail->Password = 'somepass';
$mail->addAddress('another@gmail.com', 'Josh Adams');
$mail->Subject = 'PHPMailer GMail SMTP test';
$body = 'This is the HTML message body in bold!';
$mail->MsgHTML($body);
if (!$mail->send()) {
    echo "Mailer Error: " . $mail->ErrorInfo;
} else {
    echo "Message sent!";
}
我得到了这个错误: 2013-12-11 15:15:02 SMTP错误:无法连接到服务器:无法访问网络(101)SMTP connect()失败。邮件程序错误:SMTP连接()失败。


有什么帮助吗?

您可能希望从隔离此问题开始,以确定它是否确实是一个网络问题;或者它是特定于PHP mailer还是您的代码。在服务器上,在命令提示符下,尝试使用telnet连接端口587上的smtp.gmail.com,如下所示:

telnet smtp.gmail.com 587
Trying 173.194.74.108...
Connected to gmail-smtp-msa.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP f19sm71757226qaq.12 - gsmtp
您应该会看到smtp.gmail.com的响应,如下所示:

telnet smtp.gmail.com 587
Trying 173.194.74.108...
Connected to gmail-smtp-msa.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP f19sm71757226qaq.12 - gsmtp
您看到了吗,还是连接尝试挂起并最终超时?如果连接失败,可能意味着您的主机公司正在阻止端口587上的传出SMTP连接。

更改

$mail->SMTPSecure=“tls”

$mail->SMTPSecure='ssl'

以下代码:

$mail->SMTPSecure = 'ssl';
$mail->Host = 'smtp.gmail.com';
$mail->Port = 465;
$mail->Host = 'ssl://smtp.gmail.com:465';
这对我很有用:

更改:

  $mail->SMTPSecure = 'ssl';
  $mail->Host = 'smtp.gmail.com';
  $mail->Port = '465';


这是从哪里来的?他有587端口设置,所以这就是TLS/STARTTLS。SMTP SSL通常有端口465和SMTP TLS/STARTTLS 587(除非您在服务器上使用一些奇特的(不可理解的)内部端口映射)。我收到了220代码的相同响应,这意味着服务器上允许使用SMTP。那么为什么我会收到错误“SMTP错误:无法连接到服务器:网络无法访问(101)SMTP connect()失败”。邮件程序错误:SMTP connect()失败。“**我还可以检查什么,或者此连接失败的原因是什么**