#php #smtp #smtp-auth
#php #smtp #smtp-аутентификация
Вопрос:
Я только что развернул VPS для использования его в качестве службы SMTP с использованием Postal
По-видимому, это хорошо урегулировано, потому что я отправлял письма через smpter.net убедительно.
Моя проблема в том, что когда я пытаюсь подключиться к своему SMTP через PHPMailer, он всегда выдает отказ в подключении, даже если я ввел те же учетные данные / имя хоста / порт, которые я ввел SMTPER.net и другие сайты для проверки SMPT.
Это моя конфигурация в моем тестировании отладки PHPMailer.
$mail->SMTPDebug = 3; // Enable verbose debug output
$mail->isSMTP(); // Send using SMTP
$mail->Host = 'romailing.me'; // Set the SMTP server to send through
$mail->SMTPAuth = false; // Enable SMTP authentication
$mail->Port = 25; // TCP port to connect to, use 465 for `PHPMailer::ENCRYPTION_SMTPS` above
$mail->SMTPAutoTLS = false;
$mail->AuthType = 'PLAIN';
Кроме того, я успешно подключился к Google SMTP для тестирования.
Редактировать:
ОПЕРАЦИОННАЯ система VPS SMTP: Ubuntu 16.04
Версия PHPMailer: 5.2.26
Информация об отладке PHPMailer:
2020-10-26 20:47:41 Connection: opening to romailing.me:25, timeout=15, options=array ()
2020-10-26 20:47:42 Connection failed. Error #2: stream_socket_client(): unable to connect to romailing.me:25 (Connection refused) [../lib/phpmailer/class.smtp.php line 298]
2020-10-26 20:47:42 SMTP ERROR: Failed to connect to server: Connection refused (111)
Комментарии:
1. Вы не предоставляете достаточно информации для определения причины проблемы. Какая ОС является VPS? Правильно ли вы настроили DNS-сервер, например, можете ли вы пинговать свой домен
romailing.me
изнутри VPS? Какая версия PHPMailer? Вы включили режим отладки в PHPMailer черезsetDebugLevel(SMTP::DEBUG_CONNECTION)
? Если да, то какой вывод? В целом PHPMailer работает хорошо, это надежное и стабильное приложение. Я бы предположил, что проблема связана с конфигурацией среды на VPS.2. Здравствуйте. Я отредактировал информацию. Что касается конфигурации DNS, то она должна быть правильной. Я проверил ping из своего домена из своего VPS:
PING romailing.me (207.246.70.139) 56(84) bytes of data. 64 bytes from 207.246.70.139.vultr.com (207.246.70.139): icmp_seq=1 ttl=64 time= 0.034 ms
Если вы проверите romailing.me с портом 25 в тестере smtp соединение не отклоняется. wormly.com/test-smtp-server/host/romailing.me/port/25/sendmail /…3. Вы используете довольно старую версию PHPMailer 5.2.26, текущую 6.1.8. В ней были внесены некоторые важные изменения и улучшения. Вы можете попробовать
telnet 207.246.70.139 25
— посмотреть, разрешен ли порт 25 на целевом сервере. Также я вижу$mail->AuthType = 'PLAIN';
, что означает, что вам необходимо предоставить учетные данные в кодировке base64 — см. bobcares.com/blog/phpmailer-authtype . Если целевой сервер перенаправляет на безопасное соединение, вы можете временно отключить одноранговую проверку SSL на случай, если сертификат недействителен — см. github.com/swiftmailer/swiftmailer/issues/544 .