Какую команду мы используем в Windows И Linux, чтобы проверить, отвечает ли удаленный SMTP-сервер (192.168.5.5) на SMTP-команды?
2 ответа
Как проверить, отвечает ли удаленный SMTP-сервер на команды SMTP?
Используйте telnet
.
telnet smtp.example.com 25
Заметки:
- См. Установка клиента Telnet, если
telnet
не установлен в вашей версии Windows. - Замените
smtp.example.com
на192.168.5.5
- После подключения к
telnet
вы можете использовать SMTP-команды для связи с сервером:
S: 220 smtp.server.com Simple Mail Transfer Service Ready C: HELO client.example.com S: 250 Hello client.example.com C: MAIL FROM: S: 250 OK C: RCPT TO: S: 250 OK C: DATA S: 354 Send message content; end with . C: C: . S: 250 OK, message accepted for delivery: queued as 12345 C: QUIT S: 221 Bye
где S:
сервер, а C:
клиент (telnet
).
дальнейшее чтение
В Windows не включен telnet по умолчанию ... и клиент telnet не так хорош. Так что можно также установить Cygwin.
Тогда это будет
nc 3.4.5.6 25
Если вы хотите использовать telnet для подключения, вам сначала нужно включить клиент telnet. См. Панель Ctrl ... программы и функции ... затем в левом углу "включить или отключить функции Windows", нажмите там. Затем появится окно, чтобы включить и выключить функции окна, список в алфавитном порядке, нажмите telnet client. Вы можете оставить telnet-сервер не отмеченным. Так что он просто включает клиент Telnet.
Вы можете тогда сделать
telnet 3.4.5.6 25
Это включает клиент Telnet в Windows 7. Он уже установлен, в том смысле, что вам не нужно указывать установочные файлы, например, когда функции Windows необходимо установить в XP, он просто не включен. (И, кстати, в XP клиент telnet был включен по умолчанию. У xp не было этой проблемы, связанной с установкой и отключением). Кстати, на сервере telnet, если вы поставите галочку, он будет отображать службу в services.msc, но не будет запущен, служба будет отображаться в списке, но то, что окна в services.msc вызывает «отключено». И очевидно, что обычно не рекомендуется запускать сервер telnet.
Дело в том, что иногда они могут использовать SSL-сервер.
Существует два типа SMTP с SSL, более старый, как правило, находится на порту 465, который является неявным SSL, который начинается с SSL. Они обсуждаются здесь https://www.fastmail.com/help/technical/ssltlsstarttls.html
Для этого вам не помогут только неявные SSL, nc или telnet. Вам понадобится либо stunnel с (nc или telnet). Или openssl. Более распространенная форма SMTP с SSL, как правило, находится на порту 587. Это явный SSL, который запускает не-SSL, затем идет SSL. Для этого можно использовать nc или telnet, чтобы увидеть, что это SMTP поверх SSL. OpenSSL, работающий на порту 25, может быть простым SSL, но часто является явным SSL.
Кстати, технически мы не говорим о SSL больше, это все TLS .. TLS следовал из SSL v3, затем вы получили версии TLS. SSL старый, TLS, начиная с TLS 1.0 и т.д. Более современный. После ошибки пуделя SSL 3.0 на самом деле сильно прекратил свое существование.
Что касается openssl, у Grawity есть эпический пост, посвященный этому, и другой ответ здесь также касается этого. Могут ли клиенты telnet или netcat общаться через SSL?
(Вы можете или не можете нуждаться в -crlf
)
openssl s_client -connect 1.2.3.4:465
openssl s_client -connect 1.2.3.4:465
openssl s_client -connect 1.2.3.4:587 -starttls smtp
openssl s_client -connect 1.2.3.4:25 -starttls smtp
После подключения есть команды SMTP, поэтому вы можете отправить электронное письмо, но вам это не нужно, если вы просто хотите увидеть, отвечает ли сервер.
Если вы просто проверяете ответ и не нуждаетесь в отправке электронного письма, то единственный раз, когда вам действительно нужен openssl, это неявный SSL - порт 465