Я пытаюсь использовать 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, и у них никогда не появляется это сообщение об ошибке.
укажите свой хост smtp, который является чем-то вроде mail.mydomain.com, а не mydomain.com в хосте. –
Использует порт 2096, указанный где-либо в документе, либо вашим хостинг-провайдером, либо целевым SMTP-сервером? –
С или без 'mail.' возвращает ту же ошибку. С 'smtp.' или каким-либо другим субдоменом не удается с' SMTP ERROR: Не удалось подключиться к серверу: php_network_getaddresses: getaddrinfo не удалось: имя или услуга неизвестна (0) Ошибка SMTP connect(). – stenci