Назад | Перейти на главную страницу

Проверка SMTP-сервера Windows 2003 из командной строки?

У меня есть простой SMTP-сервер, установленный на экземпляре IIS на сервере Win2k3. Я хочу выяснить, почему мои сообщения перестали ретранслироваться, но, видимо, мне нужно установить Exchange System Manager для этого? я

Exchange System Manager не имеет ничего общего со службой IIS SMTP. Счастливо!

Служба IIS SMTP настраивается через диспетчер IIS. Если он перестал позволять вам ретранслировать через него, вероятно, были установлены ограничения реле, чтобы помешать вам. Однако я не знаю способа проверить эти настройки из командной строки.

Вы можете подключиться к серверу через SMTP-порт (по умолчанию 25, но может быть другим) и посмотреть, ответит ли он 250 OK.

Если это не так, начните с брандмауэра и прочего.

Я бы использовал почтовый инструмент из командной строки под названием blat с сайта www.blat.net. При отправке электронного письма вы можете использовать параметр -superdebugT, который предоставит вам дамп данных в формате ascii между Blat и SMTP-сервером. Это покажет вам каждую команду SMTP, отправленную на сервер, и ее результат.

JohnThePro прав, вы можете просто использовать telnet-клиент, встроенный в большинство операционных систем. SMTP - это простой текстовый протокол, и большинство серверов будут терпеливо ждать, пока вы его наберете. Часто это дает вам очень хорошее представление о том, в чем проблема. Попробуйте ввести это в командной строке.

> telnet mail.contoso.com 25

Вот пример разговора, в котором ответы с сервера начинаются с префикса S: и текст, введенный пользователем, имеет префикс C:.

S: 220 mail.contoso.com ESMTP

C: EHLO myhostname
S: 250-mail.contoso.com
S: 250-8BITMIME
S: 250 SIZE 10485760

C: mail from:<sender@contoso.com>
S: 250 sender <sender@contoso.com> ok

C: rcpt to:<recipient@contoso.com>
S: 250 recipient <recipient@contoso.com> ok

C: data
S: 354 go ahead

C: Subject: test
C: 
C: test
C: .
S: 250 ok:  Message 378625388 accepted

C: quit
S: 221 mail.contoso.com

Для (более) подробностей обратитесь к стандарту SMTP, RFC 2821.

Если вы можете вести этот разговор с сервером, вы знаете, что почтовое сообщение заходит по крайней мере так далеко. Если проблемы по-прежнему возникают, вы можете использовать инструмент анализа пакетов, например Wireshark чтобы следить за исходящим SMTP-трафиком с сервера, который может дать вам больше подсказок.