2017-01-11 10 views
2

Я использую Phpmailer для отправки писем. Первоначально он работал отлично, когда я использую SMTP по имени пользователя и паролю. Если я пробовал без проверки подлинности SMTP, тогда он возвращал ошибку тайм-аута соединения. Вот мой кодPhpmailer отправлять почту без аутентификации SMTP

<?php 
require 'PHPMailerAutoload.php'; 

$mail = new PHPMailer; 
$mail->isSMTP(); 
$mail->SMTPDebug = 2; 
$mail->Debugoutput = 'html'; 
$mail->Host = "relay-hosting.secureserver.net"; 
$mail->Port = 25; 
$mail->SMTPAuth = false; 
$mail->SMTPSecure = false; 
$mail->setFrom('[email protected]', 'First Last'); 
$mail->addAddress("[email protected]", "Recepient Name"); 
$mail->addReplyTo("[email protected]", "Reply"); 
$mail->isHTML(true); 

$mail->Subject = "Subject Text"; 
$mail->Body = "<i>Mail body in HTML</i>"; 
$mail->AltBody = "This is the plain text version of the email content"; 

if(!$mail->send()) 
{ 
    echo "Mailer Error: " . $mail->ErrorInfo; 
} 
else 
{ 
    echo "Message has been sent successfully"; 
} 

?> 

Возвращается ошибка

SMTP ERROR: Failed to connect to server: Connection timed out (110)

Файл mail.log содержит

host smtp.secureserver.net[68.178.213.203] refused to talk to 
me: 554 p3plibsmtp03-06.prod.phx3.secureserver.net bizsmtp 
IB105. Connection refused. <ip address> is listed on the 
Exploits Block List (XBL)<http://www.spamhaus.org/query/ip/ip 
address> Please visit http://www.spamhaus.org/xbl/ for 
more information. 
+0

Вы проверили свой IP-адрес на сайте www.spamhaus.org, поскольку сообщение об ошибке предлагает его в заблокированном списке. – theduck

+0

Да Мой ip указан на XBL. – balaraman

+0

Это, очевидно, на GoDaddy, но очень странно, что они должны блокировать собственные внутренние IP-адреса, используя внешний черный список! Я бы предложил просить об этом GoDady, а также посмотреть, что на spamhaus. – Synchro

ответ

1

проверить Ваш IP перечислен в центре удаления черного списка Spamhaus.

https://www.spamhaus.org/query/ip/your-ip-address

Если она указана, то unlist их, следуя их процедур. Это занимает некоторое время. удалите конфигурацию SMTP из кода.

<?php 
require 'PHPMailerAutoload.php'; 

$mail = new PHPMailer; 
$mail->setFrom('[email protected]', 'First Last'); 
$mail->addAddress("[email protected]", "Recepient Name"); 
$mail->addReplyTo("[email protected]", "Reply"); 
$mail->isHTML(true); 

$mail->Subject = "Subject Text"; 
$mail->Body = "<i>Mail body in HTML</i>"; 
$mail->AltBody = "This is the plain text version of the email content"; 

if(!$mail->send()) 
{ 
    echo "Mailer Error: " . $mail->ErrorInfo; 
} 
else 
{ 
    echo "Message has been sent successfully"; 
} 

?> 

Это работает для меня.