PHPMailer: использование удаленного SMTP-сервера работает под локальным хостом, соединение отклонено (111) на удаленном сервере

У меня тут странная проблема. Я пытаюсь использовать PHPMailer для отправки электронной почты через SMTP. У меня есть веб-сайт, размещенный GoDaddy, и это та SMTP-учетная запись, которую я пытаюсь использовать для отправки почты.

  1. Он работает, если я выполняю свой PHP-файл на моем сервере localhost.
  2. Это не работает, если я выполняю свой PHP-файл на сервере GoDaddy.

Сообщение об ошибке, которое я получаю:

SMTP -> ERROR: Failed to connect to server: Connection refused (111)

Я проверил phpinfo как на localhost, так и на удаленном сервере. Оба имеют smtp_port перечисленные как 25 . Я использую WAMP на своей машине, а сервер – это какая-то форма Linux (о которой я ничего не знаю и не знаю, как управлять).

Вот код, о котором идет речь:

INDEX.PHP :

 <?php date_default_timezone_set('America/Los_Angeles'); include_once("phpmailer/class.phpmailer.php"); $mail = new PHPMailer; $mail->SMTPDebug = 1; $mail->Port = 25; $mail->IsSMTP(); $mail->Host = 'smtpout.secureserver.net'; $mail->SMTPAuth = true; $mail->Username = 'username@site.com'; $mail->Password = 'super_secret_password'; $mail->SMTPSecure = ''; // tried ssl and tls, with same result $mail->ClearAddresses(); $mail->AddAddress('receiver@hotmail.com', 'Receiver Name'); $mail->From = "username@site.com"; $mail->FromName = "Username"; $mail->Subject = 'Hi there'; $mail->Body = "This is a message"; if ($mail->Send()) { echo "Message sent!\n"; } else { echo "Message failed!\n"; print_r($mail->ErrorInfo); } exit(); ?> 

Я думаю, вы должны выполнить два шага 1) проверьте свой порт, как это было предложено в поддержку godaddy http://support.godaddy.com/help/article/319/what-do-i-do-if-i-have-trouble-connecting -to-my-email-account 2) используйте «relay-hosting.secureserver.net» как ваш хост вместо «smtpout.secureserver.net»,

GoDaddy позволяет отправлять электронную почту с помощью Gmail в качестве SMTP, просто нужно избавиться от smtp.gmail.com и вместо этого использовать свой хост. Это моя настройка:

 $mail = new PHPMailer(); $mail->isSMTP(); $mail->Host = "relay-hosting.secureserver.net"; $mail->Username = "your-account@gmail.com"; $mail->Password = "yourpassword"; // ... // send from, send to, body, etc... 

Ссылка (см. Первые два сообщения) http://support.godaddy.com/groups/web-hosting/forum/topic/phpmailer-with-godaddy-smtp-email-server-script-working/

если на вашем хостинге есть собственный почтовый сервер, ваш почтовый сервер использует следующие порты 25,465,587. Настройки для GoDaddy:

 $mail->isSMTP(); $mail->Host = localhost; $mail->SMTPAuth = true; $mail->Username = 'example@gmail.com'; $mail->Password = 'password'; //$mail->SMTPSecure = 'tls'; //$mail->Port = 587; 

На других серверах необходимо создать почтовый ящик с вашим доменом:

 $mail->isSMTP(); $mail->Host = localhost; $mail->SMTPAuth = true; $mail->Username = 'example@yourdomain.com'; $mail->Password = 'password'; //$mail->SMTPSecure = 'tls'; //$mail->Port = 587;