PHPMailer не удалось установить SMTP-соединение с Yahoo - PullRequest
0 голосов
/ 11 апреля 2020

Написал простой скрипт для тестирования PHPMailer с localhost. Не удалось подключиться. Прочтите некоторые сообщения, касающиеся этой проблемы, но ни одна из них не работает.

        $mail->isSMTP();
        $mail->SMTPDebug = 2;
        $mail->Debugoutput = 'html';
        $mail->Host = 'smtp.mail.yahoo.com';
        $mail->SMTPAuth = true;
        $mail->Username = 'xxxx@yahoo.com';
        $mail->Password = 'xxxx';
        $mail->SMTPSecure = 'tls';
        $mail->Port = 587;  
        $mail->From = 'xxxx@yahoo.com';
        $mail->FromName = 'xxxx';
        $mail->addAddress('xxxx@yahoo.com', 'xxxx');

        $mail->addReplyTo('xxxx@yahoo.com', 'xxxx');

        $mail->Subject = 'PHPMailer';
        $mail->Body    = 'PHPMailer';

        if(!$mail->Send()) {
            echo "Mailer Error: " . $mail->ErrorInfo;
        }

Ниже приведены сообщения об ошибках:

2020-04-11 07:58:10 СЕРВЕР -> КЛИЕНТ: 220 smtp.mail .yahoo.com ESMTP готов 2020-04-11 07:58:10 КЛИЕНТ -> СЕРВЕР: EHLO localhost 2020-04-11 07:58:10 СЕРВЕР -> КЛИЕНТ: 250-smtp417.mail.bf1.yahoo.com Здравствуйте localhost [207.216.100.238]) 250-PIPELINING250-ENHANCEDSTATUSCODES250-8BITMIME250-SIZE 41697280250 STARTTLS 2020-04-11 07:58:10 КЛИЕНТ -> СЕРВЕР: STARTTLS 2020-04-11 07:58:10 СЕРВЕР -> КЛИЕНТ: 220 2.0.0 Готов к запуску TLS SMTP Ошибка: не удалось подключиться к узлу SMTP. 2020-04-11 07:58:11 КЛИЕНТ -> СЕРВЕР: ВЫЙТИ 2020-04-11 07:58:11 СЕРВЕР -> КЛИЕНТ: 2020-04-11 07:58:11 ОШИБКА SMTP: сбой команды QUIT: SMTP-соединение () не смогли. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting Ошибка почтовой программы: сбой подключения SMTP (). https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

Ответы [ 2 ]

0 голосов
/ 11 апреля 2020

Прочтите вики и сделайте c по поводу проблемы. оказалось, что мне нужно было перезаписать некоторые настройки как компромисс, чтобы заставить его работать.

        $mail->SMTPOptions = array(
            'ssl' => array(
                'verify_peer' => false,
                'verify_peer_name' => false,
                'allow_self_signed' => true
            )
        );

однако, это работало для hotmail, но не yahoo. Я думаю, это связано с разными мерами безопасности разных хостов. это будет проблемой для тестирования кодов в среде localhost.

0 голосов
/ 11 апреля 2020

Вы можете попробовать с другим SMTP (например, Google, Microsoft).

Что конкретно не так?

Вы можете посетить эту страницу для получения дополнительной информации о том, как ее настроить. Настройки SMTP Yahoo

...