2016-03-24 2 views
1

Я использую phpmailer для установки TLS-соединения на порт 25. Я не могу использовать имя пользователя/пароль, так что это анонимное соединение.PHPMailer и анонимные подключения TLS

Сервер отвечает следующее:

250-SIZE 
             250-PIPELINING 
             250-DSN 
             250-ENHANCEDSTATUSCODES 
             250-XXXXXXXA 
             250-XXXXXXXXXXXXXB 
             250-AUTH NTLM 
             250-XXXXXXXXXXXXXXXXXC 
             250-8BITMIME 
             250-BINARYMIME 
             250-XXXXXXXD 
             250-XXXXXXE 
             250-XXXXF 
             250 XXXXXXG 

Когда STARTTLS-команда отправляется PHPMailer, сервер отвечает:

CLIENT -> SERVER: STARTTLS 
SERVER -> CLIENT: 500 5.3.3 Unrecognized command 
SMTP ERROR: STARTTLS command failed: 500 5.3.3 Unrecognized command 

Таким образом, очевидно анонимный TLS не предлагается сервер. Странно, если я подключаюсь к серверу через telnet, он работает.

Это проблема с phpmailer? Или просто какое-то странное поведение сервера ???

ответ

2

Если он не рекламирует STARTTLS, то вряд ли он сработает - вы уверены, что подключаетесь к тому же серверу с telnet? Можно получить массив возможностей сервера, которые PHPMailer видит по телефону это после отправки:

var_dump($mail->getSMTPInstance()->getServerExtList()); 

Если вы хотите, чтобы проверить его вручную, вы должны использовать команду OpenSSL s_client вместо телнета:

openssl s_client -connect mail.example.com:25 -starttls smtp 

Это покажет вам больше технических деталей, если это сработает.

PHPMailer делает оппортунистическую TLS в любом случае - если он видит, что сервер рекламирует STARTTLS, он автоматически включает шифрование, даже если вы не установили SMTPSecure = true.

+0

Спасибо за ваш ответ. Сервер, с которым я подключаюсь через telnet, должен быть таким же, как тот, который я использую через phpmailer. Тем не менее, когда я использовал openssl, как было предложено вами, я узнал, что проблема с сертификатом. Сертификат выдается для другого сервера, чем тот, к которому я подключаюсь (хотя он был передан по-разному). Я пытаюсь решить это сейчас и надеюсь, что это сработает после этого. – Swissdude

Смежные вопросы