2013-12-13 4 views
2

Я пытаюсь использовать PHPMailer на управляемом сервере (у меня только доступ через Cpanel), и я получаю эту ошибку:PHPMailer: SMTP ОШИБКА: команда EHLO не удалось

SERVER -> CLIENT: 
CLIENT -> SERVER: EHLO stefanomenci.com 
SERVER -> CLIENT: HTTP/1.1 301 Moved 
[...] 
SMTP ERROR: EHLO command failed: HTTP/1.1 301 Moved 

Это скрипт:

require ("/path/to/class.phpmailer.php"); 
$mail = new PHPMailer(); 
$mail->SMTPDebug = 2; 
$mail->IsSMTP(); 
$mail->Host = "mydomain.com"; 
$mail->Port = 2096; 
$mail->SMTPAuth = true; 
$mail->Username = "[email protected]"; 
$mail->Password = "****"; 
$mail->From = "[email protected]"; 
$mail->FromName = "Name"; 
$mail->AddAddress("[email protected]"); 
$mail->WordWrap = 50; 
$mail->IsHTML(true); 
$mail->Subject = "Subject"; 
$mail->Body = "y<b>a</b>y"; 
$mail->AltBody = "yay"; 
$mail->Send(); 

Если порт не прав, он не работает с «невозможным подключиться к серверу».

Если порт отсутствует, он говорит: «Пожалуйста, включите аутентификацию SMTP в почтовом клиенте или войдите в систему на сервере перед отправкой сообщения».

Если порт правильный, он ждет 10 секунд и показывает ошибку, показанную выше, независимо от имени пользователя и пароля.

Удаление $mail->IsSMTP() работает, но часто письма направляются прямо в папку со спамом.

Я нашел много сообщений о подобной проблеме с PhpMailer, но они обычно используют Google вместо mydomain.com, и у них никогда не появляется это сообщение об ошибке.

+0

укажите свой хост smtp, который является чем-то вроде mail.mydomain.com, а не mydomain.com в хосте. –

+0

Использует порт 2096, указанный где-либо в документе, либо вашим хостинг-провайдером, либо целевым SMTP-сервером? –

+0

С или без 'mail.' возвращает ту же ошибку. С 'smtp.' или каким-либо другим субдоменом не удается с' SMTP ERROR: Не удалось подключиться к серверу: php_network_getaddresses: getaddrinfo не удалось: имя или услуга неизвестна (0) Ошибка SMTP connect(). – stenci

ответ

2

Используйте порт 25 или 465, как указано выше. На порту 2096 работает веб-сервер, как мы видим в соединении (SERVER -> CLIENT: HTTP/1.1 301 Moved).

+0

Я отметил это как ответ, потому что порт и домен были неправильными. Я нашел инструкции для конфигурации почты в cPanel, домен - mail.mydomain.com, а порт - 26. Следуя инструкции, ошибка в объекте изменяется (поэтому я устанавливаю это как ответ), но он все еще не подключается с другими сообщениями об ошибках. Я все еще расследую, и в конечном итоге я задам другой вопрос с другой темой. – stenci

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