phpmailer and gmail SMTP ERROR: Failed to connect to server: Network is unreachable (101) SMTP connect() failed

匿名 (未验证) 提交于 2019-12-03 02:38:01

问题:

I need help please this is my code:

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!"; } 

and I get this error: 2013-12-11 15:15:02 SMTP ERROR: Failed to connect to server: Network is unreachable (101) SMTP connect() failed. Mailer Error: SMTP connect() failed.

any help please?

回答1:

You might want to start by isolating this problem to determine whether it's truly a network problem; or whether it's specific to PHP mailer or your code. On your server, from a command prompt, try using telnet to connect to smtp.gmail.com on port 587, like so:

telnet smtp.gmail.com 587 

You should see a response from smtp.gmail.com, like so:

Trying 173.194.74.108... Connected to gmail-smtp-msa.l.google.com. Escape character is '^]'. 220 mx.google.com ESMTP f19sm71757226qaq.12 - gsmtp 

Do you see this, or does the connection attempt hang and eventually time out? If the connection fails, it could mean that your hosting company is blocking outgoing SMTP connections on port 587.



回答2:

change

$mail->SMTPSecure = "tls";

with

$mail->SMTPSecure = 'ssl';



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!