2008-10-05 1 views
3

SSL может быть либо "явной" или "неявное", как описано по ссылке:Есть ли способ, который я могу сказать, ожидает ли сервер SMTP подключиться к клиенту, используя «неявный» SSL против «явного» SSL?

http://help.globalscape.com/help/secureserver2/Explicit_versus_implicit_SS.htm

System.Net.Mail поддерживают только "явный" SSL, как описано здесь:

http://blogs.msdn.com/webdav_101/archive/2008/06/02/system-net-mail-with-ssl-to-authenticate-against-port-465.aspx

Итак, я пытаюсь использовать System.Net.Mail для подключения к SMTP-серверу, на котором у меня нет никакого контроля, и он не работает. Как я могу точно знать, что он терпит неудачу, потому что сервер хочет «неявное» соединение SSL? Какой тест я могу сделать с клиентской стороны?

ответ

9

Обычно это регулируется конвенцией. SMTP, запущенный на порту 25 (обычный случай), использует явный SSL. SMTPS, работающий на порту 465, использует неявный SSL. При отправке почты на порт 587 используется явный SSL.

Чтобы точно сказать, telnet к порту, как в «telnet mail.example.com 25». Если вы видите текстовый баннер, где сервер идентифицирует себя, тогда вы имеете дело с явным SSL. Если вы успешно подключаетесь и ничего не видите, вы имеете дело с неявным SSL.