XFOR: Подключение по протоколу Telnet к порту 25 для проверки передачи данных по протоколу SMTP

Переводы статьи Переводы статьи
Код статьи: 153119 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

В статье рассматривается использование подключения по протоколу Telnet к порту 25 компьютера, на котором запущены службы SMTP, для устранения неполадок с передачей данных по протоколу SMTP. Информация в этой статье, включая сведения про сообщения об ошибках, применима лишь для устранения проблем связи по протоколу SMTP на серверах, на которых работает Microsoft Exchange Server, и не предназначена для устранения неполадок общего характера.

Выполняйте действия по устранению неполадок в соответствии с проблемами, с которыми вы столкнулись. Например, если у вас не получается отправлять сообщения электронной почты по протоколу SMTP между двумя вашими серверами, на которых запущен сервер Exchange 2000 Server, вы можете проверить возможность подключения по этому протоколу, используя средство Telnet на отправляющем сервере, чтобы подключиться к порту 25 на целевом сервере. По умолчанию протокол SMTP прослушивает порт 25. Или же, если у вас не получается получать по Интернету почту SMTP, выполните действия, описанные в этой статье, чтобы проверить возможность подключения к вашему SMTP-серверу с узла, размещенного в Интернете, а не в вашей сети. 

Свернуть это изображениеРазвернуть это изображение
Примечание
ПРИМЕЧАНИЕ. Эта статья содержит информацию только о проверке возможности подключения к серверу Exchange Server для обмена с ним сообщениями. Если вам не удается подключиться к серверу Exchange Server, поищите в базе знаний Майкрософт описание симптомов или сообщений об ошибках, с которыми вы столкнулись. Дополнительные сведения об устранении неполадок, связанных с транспортировкой в Exchange см. в следующей статье базы знаний Майкрософт:
257265 General troubleshooting for transport issues in Exchange 2000 Server and in Exchange Server 2003 (Общие сведения об устранении неполадок транспортировки в Exchange 2000 Server и в Exchange Server 2003)

Дополнительная информация

В линейке продуктов Майкрософт есть несколько вариантов протокола SMTP. В линейке продуктов Windows есть служба SMTP, которая входит в число служб IIS, а в Windows NT Server 4.0 служба SMTP входила в пакет Option Pack. В более поздних версиях Windows службы IIS интегрированы в операционную систему, и добавить их можно с помощью элемента Установка или удаление программ в панели управления. Кроме того, серверы Exchange 2000 Server и Exchange Server 2003 используют дополнительные функции существующей службы SMTP, входящей в число служб IIS. Серверы Exchange 4.0 Server, Exchange 5.0 Server и Exchange 5.5 Server используют собственные версии протокола SMTP в форме компонента Internet Mail Connector (IMC) или службы Internet Mail Service (IMS). 

Свернуть это изображениеРазвернуть это изображение
Примечание
Примечание. Internet Mail Connector (IMC), который используют сервер Exchange 5.0 Server и более поздние версии, называется Internet Mail Service.

Перед началом сеанса Telnet вам нужен полный адрес электронной почты SMTP целевого пользователя, которому вы собираетесь отправить это проверочное сообщение. Формат этого адреса должен быть таким:
User@Site.Domain.com
У вас также должно быть полное доменное имя или IP-адрес сервера, на котором запущены службы SMTP (например, 10.120.159.1). Эти сведения уже могут быть известны, если серверы принадлежат организации пользователя. Если вы имеете дело с внешними серверами, то легче всего использовать средство Nslookup.exe, чтобы найти записи DNS (известные также как записи Internet Mail Exchanger), содержащие эту информацию. 
 
Дополнительные сведения о средстве NSlookup см. в следующей статье базы знаний Майкрософт:
200525 Использование средства NSlookup.exe
Дополнительные сведения о получении записей Internet Mail Exchanger см. в следующей статье базы знаний Майкрософт:
203204 XFOR: Получение записей Internet Mail Exchanger

Убедитесь, что на соответствующем сервере запущена служба SMTP. Чтобы убедиться в этом, вы можете выполнить базовые проверки, указанные в этой статье, и проверить, приходит ли с удаленного сервера отклик 220. Получение отклика будет подтверждением того, что служба SMTP запущена.

Свернуть это изображениеРазвернуть это изображение
Примечание
Примечания
  • Некоторые приложения Telnet требуют включения режима отображения вводимых команд. Для этого во время сеанса Microsoft Telnet введите в командной строке set local_echo.
  • В Windows XP введите set localecho вместо set local_echo.

Базовое тестирование

Вот как можно убедиться, что между главным компьютером и удаленным сервером SMTP есть связь. Если после ввода любой из приведенных ниже команд вы получаете сообщение об ошибке (см. его ниже), сервер SMTP не распознает введенный текст, так как в нем есть синтаксическая ошибка или сама команда неверна.
500 Команда не распознана.
Проверьте правильность команды и введите ее еще раз. Кроме того, убедитесь в наличии прямой связи с сервером Microsoft SMTP.

Свернуть это изображениеРазвернуть это изображение
Примечание
Примечание. В клиенте Microsoft Telnet нельзя использовать клавишу BACKSPACE. Если, набирая команду, вы делаете ошибку, необходимо нажать клавишу ВВОД, а затем ввести команду заново. 

Cредство Telnet запускается из командной строки путем выполнения следующих действий.
  1. Чтобы открыть окно командной строки, нажмите кнопку Пуск, выберите пункт Выполнить, введите в поле Открыть команду cmd и нажмите кнопку ОК.
  2. Чтобы начать сеанс Telnet, введите команду Telnet, используя следующий формат.

    Свернуть это изображениеРазвернуть это изображение
    Примечание
    Примечание. После набора каждой команды нажимайте клавишу ВВОД. 
    telnet имя сервераномер порта
    Например, введите:
    telnet mail.contoso.com 25
    Свернуть это изображениеРазвернуть это изображение
    Примечание
    Примечание. Вы можете заменить имя сервера на IP-адрес или полное доменное имя SMTP-сервера, к которому вы хотите подключиться. После набора каждой команды нажимайте клавишу ВВОД.

    Если команда сработает, вы получите с SMTP-сервера примерно такой отклик:
    220 site.contoso.com Microsoft Exchange Internet Mail Connector <номер версии IMC>
    Свернуть это изображениеРазвернуть это изображение
    Примечание
    Примечание. Есть разные версии SMTP-серверов (Microsoft) и SMTP-серверов сторонних поставщиков, и поэтому от принимающего сервера вы можете получить разные отклики. Важно, чтобы пришел отклик 220 с полным доменным именем сервера и номером версии SMTP. Кроме того, в откликах 220, которые присылают все версии SMTP-сервера (Microsoft), должно быть слово "Microsoft". 
  3. Введите следующую команду, чтобы установить связь:
    EHLO test.com
    Свернуть это изображениеРазвернуть это изображение
    Примечание
    Примечание.
     Вы можете использовать команду HELO, но есть еще и EHLO, которая входит в набор расширенных команд SMTP, поддерживаемых во всех текущих реализациях SMTP в продуктах Майкрософт. Лучше использовать EHLO, если вы не считаете, что могут возникнуть проблемы с расширенными командами SMTP.  

    В случае успешного выполнения команды появится следующий отклик:
    250 OK
  4. Введите следующую команду, чтобы оповестить принимающий сервер SMTP об отправителе сообщения:
    MAIL FROM:Admin@test.com
    Свернуть это изображениеРазвернуть это изображение
    Примечание
    Примечание. Хотя вы можете выбрать любой SMTP-адрес, рекомендуется учесть следующие проблемы:
    • Некоторые системы электронной почты SMTP фильтруют письма на основе адреса в строке MAIL FROM: (отправитель). Кроме того, они могут не разрешить подключение определенным IP-адресам или могут не разрешить IP-адресам отправлять почту в систему электронной почты SMTP, если эти адреса не соответствуют домену, в котором находится эта система. В этом примере домен — test.com.
    • Если, отправляя письмо, вы не используете допустимый адрес электронной почты, вы не сможете определить, были ли проблемы с доставкой, так как отчет о недоставке не может дойти до недопустимого IP-адреса. Вот какой отклик вы получите от SMTP-сервера, если вы используете допустимый адрес электронной почты: 
      250 OK - MAIL FROM Admin@test.com
  5.  Введите следующую команду, чтобы передать принимающему SMTP-серверу адрес, на который отправляется письмо. 

    Свернуть это изображениеРазвернуть это изображение
    Примечание
    Примечание. Рекомендуется всегда использовать SMTP-адрес получателя, допустимый для домена, который получает письмо. Например, если вы отправляете письмо на адрес john@domain.com, вам необходимо убедиться, что такой адрес есть в домене. В противном случае придет отчет о невозможности доставки.

    Команда и SMTP-адрес, на который вы отправляете письмо: 
    RCPT TO: User@Domain.Com
    Вот какой отклик вы получите:
    250 OK - Recipient User@ Domain.Com
  6. Введите следующую команду, чтобы оповестить сервер SMTP о готовности отправить данные:
    DATA
    Будет получен следующий отклик:
    354 Send data. End with CRLF.CRLF
  7. Теперь вы можете ввести раздел 822/2822 письма. Получатель увидит эту часть сообщения в папке «Входящие». Введите следующую команду, чтобы добавить тему сообщения:
    Subject: тестовое сообщение
    Дважды нажмите клавишу ВВОД. Выполнив эту команду, вы не получите отклик. 

    Свернуть это изображениеРазвернуть это изображение
    Примечание
    Примечание. Обе команды ввода должны соответствовать документу RFC 822 и 2822. После команды 822 должна следовать пустая строка. 
  8. Введите следующую команду, чтобы добавить текст сообщения:
    Это тестовое сообщение. После этой команды отклик не приходит.
  9. Введите точку (.) в следующей пустой строке и нажмите клавишу ВВОД. Будет получен следующий отклик:
    250 OK
  10. Введите следующую команду, чтобы завершить связь:
    QUIT
    Будет получен следующий отклик:
    221 closing connection
  11. Убедитесь, что сообщение доставлено получателю. Если в журнале событий приложений появится сообщение об ошибке или если не удастся принять письмо, проверьте конфигурацию или связь с узлом.

Дополнительное тестирование

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

Чтобы сделать запрос на уведомление о доставке, см. действие 5 в разделе "Базовое тестирование", чтобы использовать допустимый адрес электронной почты, который сможет принять это уведомление. Затем, выполняя действие 6 из раздела "Базовое тестирование", введите такую команду во время сеанса Telnet: 
RCPT TO:User@Site.Domain.Com notify=success,failure

Свойства

Код статьи: 153119 - Последний отзыв: 31 октября 2013 г. - Revision: 7.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Exchange Server 2003 Standard Edition
  • Microsoft Exchange Server 2003 Enterprise Edition
  • Microsoft Exchange 2000 Server Standard Edition
  • Microsoft Exchange Server 5.5 Standard Edition
  • Microsoft Exchange Server 5.0 Standard Edition
  • Microsoft Exchange Server 4.0 Standard Edition
  • Microsoft Internet Information Services 6.0
Ключевые слова: 
kbhowto KB153119

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com