Аннотация
В статье рассматривается использование подключения по протоколу Telnet к порту 25 компьютера, на котором запущены службы SMTP, для устранения неполадок с передачей данных по протоколу SMTP. По умолчанию SMTP прослушивает порт 25.
В зависимости от возникшей проблемы можно выполнить следующие действия. Например, если возникли проблемы с пересылкой почты с использованием протокола SMTP между двумя серверами Microsoft Exchange 2000 Server, можно проверить связь SMTP, подключившись по протоколу Telnet с исходного сервера к порту 25 на сервере назначения. Либо, если возникли проблемы с получением почты из Интернета с использованием протокола SMTP, можно выполнить действия, описанные в этой статье, для проверки связи сервера SMTP с узлом, расположенным в Интернете (а не в локальной сети).
Основное тестирование
Чтобы проверить связь между компьютером и удаленным сервером SMTP, выполните следующие действия. Если после ввода любой из указанных ниже команд появится следующее сообщение об ошибке, это значит, что серверу SMTP не удалось распознать введенный текст из-за синтаксической ошибки или неправильной команды.
500 Команда не распознана.
Проверьте правильность команды и введите ее еще раз. Также убедитесь в наличии прямой связи с сервером Microsoft SMTP.
Примечание. Средство Microsoft Telnet не разрешает использование клавиши BACKSPACE. В случае ошибки во время ввода команды нажмите клавишу ВВОД и начните ввод команды заново.
Cредство Telnet запускается из командной строки путем выполнения следующих действий. Чтобы открыть окно командной строки, нажмите кнопку Пуск, выберите пункт Выполнить, введите в поле Открыть команду cmd и нажмите кнопку ОК.
1. Чтобы начать сеанс Telnet, введите команду Telnet, используя следующий формат.
Примечание. В конце каждой строки нажимайте клавишу ВВОД.
telnet имя_сервераномер_порта
Например, введите:
telnet mail.contoso.com 25
Примечание. В сроке «имя_сервера» нужно заменить IP-адресом или полным доменным именем сервера SMTP, к которому необходимо подключиться. После каждой команды нажимайте клавишу ВВОД.
Если команда будет выполнена успешно, от сервера SMTP будет получен отклик следующего вида:
220 site.contoso.com Microsoft Exchange Internet Mail Connector <номер версии IMC>
Примечание. Существуют различные версии серверов SMTP корпорации Майкрософт или сторонних компаний, поэтому отклик от принимающего сервера может выглядеть иначе. Важно, чтобы пришел отклик 220 с полным доменным именем сервера и номером версии SMTP. Кроме этого, все версии SMTP корпорации Майкрософт содержат в отклике 220 название «Microsoft».
2. Введите следующую команду, чтобы установить связь:
EHLOtest.com
Примечание. Можно использовать команду HELO, однако команда EHLO входит в расширенный набор команд SMTP, который поддерживается всеми современными средствами SMTP корпорации Майкрософт. Если отсутствуют проблемы с поддержкой расширенного набора команд SMTP, рекомендуется использовать команду EHLO.
В случае успешного выполнения команды появится следующий отклик:
250 OK
3. Введите следующую команду, чтобы оповестить принимающий сервер SMTP об отправителе сообщения:
MAIL FROM:Admin@test.com
Примечание. Это может быть любой адрес SMTP, однако рекомендуется учесть следующее:
- a. Некоторые почтовые системы SMTP фильтруют сообщения по адресу MAIL FROM: и могут не разрешить подключение для некоторых IP-адресов или запретить для IP-адреса отправку электронного сообщения через почтовую систему SMTP, если IP-адрес не соответствует домену почтовой системы SMTP. В этом примере имя домена — test.com.
- b. Если при отправке сообщения не использовать правильный электронный адрес, невозможно определить, были ли проблемы с доставкой, поскольку отчет о невозможности доставки (NDR) не может быть возвращен на неправильный IP-адрес. При использовании правильного электронного адреса приходит следующий отклик от сервера SMTP:
250 OK - MAIL FROM Admin@test.com
4. Введите следующую команду, чтобы оповестить принимающий сервер SMTP о получателе сообщения:
Примечание. Рекомендуется всегда использовать адрес SMTP, который допустим в домене, в который отправляется сообщение. Например, при отправлении сообщения по адресу john@domain.com, необходимо убедиться, что адрес john@domain.com существует в данном домене. В противном случае придет отчет о невозможности доставки.
Введите следующую команду и адрес SMTP получателя сообщения:
RCPT TO: User@Domain.Com
Будет получен следующий отклик:
250 OK - Recipient User@ Domain.Com
5.Введите следующую команду, чтобы оповестить сервер SMTP о готовности отправить данные:
DATA
Будет получен следующий отклик:
354 Send data. End with CRLF.CRLF
6. Теперь можно вводить раздел сообщения 822/2822. Получатель увидит эту часть сообщения в папке «Входящие». Введите следующую команду, чтобы добавить тему сообщения:
Subject: тестовое сообщение
Два раза нажмите клавишу ВВОД. После этой команды отклик не приходит.
Примечание. Двойное нажатие клавиши ВВОД соответствует стандартам RFC 822 и 2822. За командой 822 должна следовать пустая строка.
7.Введите следующую команду, чтобы добавить текст сообщения:
Это тестовое сообщение. После этой команды отклик не приходит.
8.Введите точку (.) в следующей пустой строке и нажмите клавишу ВВОД. Будет получен следующий отклик:
250 OK
9. Введите следующую команду, чтобы завершить связь:
QUIT
Будет получен следующий отклик:
221 closing connection
10. Убедитесь, что сообщение доставлено получателю. Если в журнале событий приложения появились сообщения об ошибке или возникли проблемы с доставкой сообщения, проверьте настройки и подключение к узлу.
Дополнительное тестирование
В дополнение к основным тестам, перечисленным в этой статье, для проверки доставки почты в обоих направлениях можно использовать уведомление о доставке. Этот метод можно использовать, чтобы проверить, может ли сервер SMTP принимать входящее подключение и создавать отчет о доставке, возвращаемый отправителю для проверки исходящего подключения.
Перед запросом уведомления о доставке убедитесь в правильности указанного электронного адреса, на который будет отправлено уведомление о доставке (см. пункт 4 раздела «Основное тестирование» этой статьи). Затем, в соответствии с пунктом 5 раздела «Основное тестирование» этой статьи, в сеансе Telnet введите следующую команду:
RCPT TO:User@Site.Domain.Com notify=success,failure
Источник: support.microsoft.com