Я использую PHPMailer для отправки почты через GMail. Код, который я использую, прямо из учебника, и он отлично работает на моем ноутбуке. Тем не менее, тестирование этого на сервере Windows 2003 Server – кажется, всегда возвращает ошибку SMPT:
Ошибка SMTP: не удалось подключиться к узлу SMTP. Ошибка Mailer: ошибка SMTP: не удалось подключиться к узлу SMTP.
- Отправка почты с localhost с помощью PHP
- Ошибка PHPMailer: SMTP -> ОШИБКА: Не удалось подключиться к серверу
- Проблема с аутентификацией SMTP в PHP с помощью PHPMailer, с Pear Mail работает
- Как отправить электронную почту с PHP без сервера SMTP?
- Отправить письмо с учетной записью Google с помощью CodeIgniter
Вот настройки, которые я использую в PHPMailer:
include("phpmailer/class.phpmailer.php"); $mail = new PHPMailer(); $mail->IsSMTP(); $mail->SMTPAuth = true; // enable SMTP authentication $mail->SMTPSecure = "ssl"; // use ssl $mail->Host = "smtp.gmail.com"; // GMAIL's SMTP server $mail->Port = 465; // SMTP port used by GMAIL server
Могу ли я с уверенностью сказать, что это не проблема портов, поскольку я подключаюсь к другому серверу на порту 465 и отправляет почту. Если нет, объясните.
Как я могу решить эту проблему?
Спасибо всем за любую помощь
Первое, что нужно заметить: Gmail использует TLS. Не знаю, будет ли использование SSL вместо TLS иметь большую разницу, но SSL является предшественником TLS.
Я рекомендую проверить также его phpmailer, настроенный для использования gmail. PHPGMailer
Чтобы использовать PHPMailer с gmail, не используйте SSL / 465 (он устарел с 1998 года), используйте TLS / 587, как предлагает Noctrine, и вот как это сделать:
include 'phpmailer/class.phpmailer.php'; $mail = new PHPMailer; $mail->IsSMTP(); $mail->SMTPAuth = true; // enable SMTP authentication $mail->Host = "tls://smtp.gmail.com"; // GMAIL's SMTP server $mail->Port = 587; // SMTP port used by GMAIL server ...
Вы должны найти, что работает.