Сообщение не было отправлено. Ошибка почтовой программы: SMTP connect() не удалось

Я новичок в Php и нашел класс почтовой программы Php для отправки электронной почты, но получаю следующую ошибку.

Сообщение об ошибке:

Message was not sent.Mailer error: SMTP connect() failed. 

PHP-код:

<?php
require("class.phpmailer.php");

$mail = new PHPMailer();

$mail->IsSMTP();  // telling the class to use SMTP
$mail->Host     = "smtp.impeccableplus.com"; // SMTP server

$mail->From     = "[email protected]";
$mail->AddAddress("[email protected]");

$mail->Subject  = "First PHPMailer Message";
$mail->Body     = "Hi! \n\n This is my first e-mail sent through PHPMailer.";
$mail->WordWrap = 50;

if(!$mail->Send()) {
echo 'Message was not sent.';
echo 'Mailer error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent.';
}

?>

Спасибо.

Обновление:

Я просто меняю имя хоста = localhost. Теперь он успешно отправил электронную почту, но проблема в том, что она показывает почту в папке со спамом. Почему ?


person Babu    schedule 27.01.2014    source источник
comment
Что-то пошло не так. PHPMailer имеет опцию SMTPDebug. Отладка PHP Mail() и/или PHPMailer   -  person Pekka    schedule 27.01.2014
comment
проверьте также учетные данные вашего почтового сервера   -  person Emilio Gort    schedule 27.01.2014
comment
@Pekka웃 Я просто меняю имя хоста = localhost. Теперь он успешно отправил электронную почту, но проблема в том, что она показывает почту в папке со спамом. Почему ? и показывает имя отправителя = пользователь root, почему?   -  person Babu    schedule 27.01.2014
comment
Из выпуска   -  person Emilio Gort    schedule 27.01.2014
comment
проблема со спамом   -  person Emilio Gort    schedule 27.01.2014
comment
@EmilioGort Спасибо.   -  person Babu    schedule 27.01.2014
comment
Когда вы переключаетесь на отправку через локальный хост, вы больше не используете вышестоящий почтовый сервер, у вас, вероятно, нулевая репутация отправки, поэтому вы, вероятно, будете помечены как спам. Также, если вы отправляете через локальный хост, вам не нужно использовать SMTP — вызовите IsMail() вместо IsSMTP().   -  person Synchro    schedule 13.06.2014


Ответы (1)


Для этого может быть ряд причин:

  • Ваш SMTP-сервер smtp.impeccableplus.com может быть занесен в черный список. Вы можете проверить, не занесен ли ваш SMTP-сервер в черный список
  • from address может рассматриваться как спам, особенно если вы используете [email protected]
  • Некоторым почтовым клиентам (например, Gmail) не нравится тот факт, что вы отправляете электронное письмо «с» чужого адреса, если оно действительно не было отправлено с этого адреса.
  • и, возможно, 20+ других причин

Вам следует рассмотреть возможность настройки SPF и DKIM для вашего адреса электронной почты, с которого вы отправляете электронные письма. Прочитайте это и это. Настроив SPF и DKIM, вы, по сути, аутентифицируете электронную почту, что значительно улучшает доставку почты.

В качестве альтернативы, если вы действительно застряли, рассмотрите возможность использования API доставки почты, такого как Sendgrid.

person Nick Duncan    schedule 03.03.2017