Задать вопрос
fast-je
@fast-je
Пишу на php.

Почему phpmailer не отправляет сообщение через smtp?

Отправляю сообщение, код ниже
$mail = new PHPMailer(true);                              // Passing `true` enables exceptions
try {
    //Server settings
    $mail->SMTPDebug = 2;                                 // Enable verbose debug output
    $mail->isSMTP();                                      // Set mailer to use SMTP
    $mail->Host = 'mail.profitway.net';  // Specify main and backup SMTP servers
    $mail->SMTPAuth = true;                               // Enable SMTP authentication
    $mail->Username = 'info@profitway.net';                 // SMTP username
    $mail->Password = 'none';                           // SMTP password
    $mail->SMTPSecure = 'ssl';                            // Enable TLS encryption, `ssl` also accepted
    $mail->Port = 465;                                    // TCP port to connect to

    //Recipients
    $mail->setFrom('info@profitway.net', 'Mailer');
    $mail->addAddress('fast@yandex.ru', 'Joe User');     // Add a recipient

    //Content
    $mail->isHTML(true);                                  // Set email format to HTML
    $mail->Subject = 'Here is the subject';
    $mail->Body    = 'This is the HTML message body <b>in bold!</b>';
    $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

    $mail->send();
    echo 'Message has been sent';
} catch (Exception $e) {
    echo $e->getMessage();
    echo 'Message could not be sent. Mailer Error: ', $mail->ErrorInfo;
}


Показывается следующая ошибка

2018-04-25 11:33:54 SMTP ERROR: Failed to connect to server: (0)
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubl...
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubl... could not be sent. Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubl...


далее ставим
$mail->SMTPOptions = array(
        'ssl' => array(
            'verify_peer' => false,
            'verify_peer_name' => false,
            'allow_self_signed' => true
        )
    );


После добавление данного кода начинает все работать, но попадает в папку спам.
Я так понял, что проблема с сертификатами, но что за проблема именно и как ее исправить я не знаю. SSL сертификат стоит бесплатный, почту добавил через isp manager, доступ соотвественно оттуда взял, хост, порт и т.д. Почему не отправляет без данных настроек ?
$mail->SMTPOptions = array(
        'ssl' => array(
            'verify_peer' => false,
            'verify_peer_name' => false,
            'allow_self_signed' => true
        )
    );

Прошу помощи.
  • Вопрос задан
  • 5132 просмотра
Подписаться 1 Средний 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
@LiguidCool
Как вариант: SPF, DKIM
Вы хотите ставить сертификат на авторизацию клиента, а проблема судя по всему в том, что вашему серверу не доверяют другие серверы.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы