2013-12-11 6 views
0

мне нужна помощь, пожалуйста, это мой код:PHPMailer и Gmail SMTP ОШИБКА: Не удалось подключиться к серверу: Сеть недостижима (101) SMTP подключения() не

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 = '[email protected]'; 
$mail->Password = 'somepass'; 
$mail->addAddress('[email protected]', '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 ERROR: Не удалось подключиться к серверу: сеть недоступна (101) Ошибка SMTP connect(). Ошибка Mailer: Ошибка SMTP connect().

любая помощь пожалуйста?

ответ

5

Возможно, вам стоит начать с изоляции этой проблемы, чтобы определить, действительно ли это сетевая проблема; или он специфичен для почтовой программы PHP или вашего кода. На сервере, из командной строки, попробуйте использовать Telnet для подключения к smtp.gmail.com через порт 587, например, так:

telnet smtp.gmail.com 587 

Вы должны увидеть ответ от smtp.gmail.com, например, так:

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 порт 587.

-2

Смените

$mail->SMTPSecure = "tls";

с

$mail->SMTPSecure = 'ssl';

Смежные вопросы