Применимо к: Exchange Server 2010 SP1
Последнее изменение раздела: 2009-12-08
В этом разделе объясняется, как использовать Telnet для проверки связи по протоколу SMTP (Simple Mail Transfer Protocol) между серверами обмена сообщениями. По умолчанию протокол SMTP прослушивает порт 25. При использовании Telnet на порте 25 можно ввести команды SMTP, используемые для подключения к SMTP-серверу, и отправить сообщение так, как будто сеанс Telnet является SMTP-сервером обмена сообщениями. При этом можно видеть успешный или неудачный результат каждого действия в процессе подключения и отправки сообщения.
Ниже приведены сценарии, в которых Telnet используется для проверки связи по протоколу SMTP с имеющимися в организации Microsoft Exchange Server транспортными серверами.
- Подключение к пограничному транспортному серверу организации с
узла, расположенного за пределами демилитаризованной зоны, и
отправка сообщения.
- Подключение к удаленному серверу обмена сообщениями с
пограничного транспортного сервера организации и отправка
сообщения.
Процедура, приведенная в данном разделе, показывает, как использовать клиент Telnet, являющийся компонентом Microsoft Windows. Клиенты Telnet сторонних производителей могут использовать другой синтаксис, отличающийся от синтаксиса компонента Telnet Windows.
Предварительные условия
- Настройка соединителя получения для разрешения анонимного
доступа или обычной проверки подлинности Так
как передача сообщений между транспортными
серверами-концентраторами шифруется и сопровождается проверкой
подлинности, внутреннему транспортному серверу-концентратору
требуется соединитель получения, настроенный для разрешения
анонимного доступа или обычной проверки подлинности, что позволит
получать сообщения при использовании протокола Telnet для проверки
связи на порте 25. Анонимный доступ требуется для серверов,
подключенных к Интернету
Примечание. При отправке сообщения на соединитель приема, на котором разрешена обычная проверка подлинности, необходима служебная программа для преобразования текстовых строк, используемых для имени пользователя и пароля, в формат Base64. Поскольку имя пользователя и пароль при использовании обычной проверки подлинности легко перехватываются, обычную проверку подлинности не рекомендуется использовать без шифрования. - Подключение к удаленному серверу обмена
сообщениями Может также потребоваться
подключение к удаленному серверу обмена сообщениями с пограничного
транспортного сервера организации. Это позволяет предотвратить
отклонение тестового сообщения серверами SMTP, подключенными к
Интернету, которые настроены на проверку исходного IP-адреса,
соответствующего ему DNS-имени домена и IP-адреса обратного
просмотра любого интернет-узла, который пытается отправить
сообщение на сервер.
- Установка и/или включение клиента
Telnet Может потребоваться выполнение одной
или нескольких из следующих задач перед использованием протокола
Telnet для проверки связи SMTP между серверами обмена
сообщениями:
- Установите клиент Telnet, если это не было сделано ранее.
Дополнительные сведения об установке клиента Telnet в ОС Windows
Vista или Windows Server 2008 см. в разделе Установка клиента Telnet.
- Включите клиент Telnet на сервере Windows Server 2008.
Дополнительные сведения см. ниже в этом разделе.
- Установите клиент Telnet, если это не было сделано ранее.
Дополнительные сведения об установке клиента Telnet в ОС Windows
Vista или Windows Server 2008 см. в разделе Установка клиента Telnet.
- Поиск имени FQDN или IP-адреса сервера SMTP. Если имя
FQDN или IP-адрес неизвестны, для поиска имени FQDN или IP-адреса
сервера SMTP можно использовать средство Nslookup. См. инструкции
ниже в этом разделе.
Включение клиента Telnet на сервере Windows Server 2008
Для выполнения описанных действий необходимо, как минимум, членство в локальной группе администраторов Windows Server 2008 или аналогичной группе.
В системе Windows Server 2008 клиент Telnet по умолчанию отключен. Чтобы его включить, выполните следующие действия:
- Откройте Диспетчер сервера.
- Щелкните Действия, затем выберите Добавить
компоненты.
- Выберите Клиент Telnet, затем щелкните Далее.
- Щелкните Установить, затем щелкните Закрыть для
завершения установки клиента Telnet.
Использование средства Nslookup для поиска имени FQDN или IP-адреса сервера SMTP
Чтобы подключиться к конечному серверу SMTP с помощью протокола Telnet на порте 25, необходимо знать полное доменное имя (FQDN) и IP-адрес сервера SMTP. Если имя FQDN или IP-адрес неизвестны, самым простым способом получения этих сведений является использование средства командной строки Nslookup для поиска записи MX конечного домена.
- В командной строке введите nslookup и нажмите клавишу
ВВОД. Эта команда открывает сеанс Nslookup.
- Введите set type=mx и нажмите клавишу ВВОД.
- Введите set timeout=20 и нажмите клавишу ВВОД. По
умолчанию DNS-серверы Windows отводят 15-секундный интервал для
выполнения рекурсивного DNS-запроса.
- Введите имя домена, для которого требуется найти MX-запись.
Например, чтобы найти запись MX для домена fabrikam.com, введите
fabrikam.com. и нажмите клавишу ВВОД.
Примечание. Конечная точка ( . ) означает, что используется имя FQDN. Использование завершающей точки препятствует непреднамеренному добавлению к имени домена каких-либо DNS-суффиксов по умолчанию, настроенных для сети.
Скопировать код fabrikam.com mx preference=10, mail exchanger = mail1.fabrikam.com fabrikam.com mx preference=20, mail exchanger = mail2.fabrikam.com mail1.fabrikam.com internet address = 192.168.1.10 mail2 fabrikam.com internet address = 192.168.1.20
- Для завершения сеанса Nslookup введите exit и нажмите
клавишу ВВОД.
Примечание. |
---|
Ограничения брандмауэра и прокси-сервера Интернета,
установленные для внутренней сети организации, могут препятствовать
использованию средства Nslookup для опроса публичных DNS-серверов в
Интернете. MX-записи не обязательны для внутреннего обмена сообщениями в организации Exchange. Если необходимо узнать полное доменное имя какого-либо транспортного сервера-концентратора или подписанного пограничного транспортного сервера в организации, можно выполнить в командной консоли Exchange следующую команду: Get-ExchangeServer | where
{$_.isHubTransportServer -eq $true -or $_.isEdgeServer -eq $true} |
Format-List Fqdn,ServerRole Дополнительные сведения см. в разделах Get-ExchangeServer и Передача по конвейеру. |
Использование протокола Telnet на порте 25 для проверки связи по протоколу SMTP
В качестве примера в этой процедуре использованы значения, описанные в следующем списке:
- SMTP-сервер
назначения mail1.fabrikam.com
- Исходный домен contoso.com
- Адрес электронной почты
отправителя chris@contoso.com
- Адрес электронной почты
получателя kate@fabrikam.com
- Тема сообщения Test from Contoso
- Текст сообщения This is a test
message
Примечание. Всегда следует использовать работающий адрес электронной почты отправителя, чтобы все отчеты о недоставке, созданные SMTP-сервером назначения, доставлялись отправителю сообщения.
Команды клиента Telnet вводятся без учета регистра. Команды SMTP набраны заглавными буквами для большей ясности.
- В командной строке введите telnet и нажмите клавишу
ВВОД. Эта команда открывает сеанс Telnet.
- Введите set localecho и нажмите клавишу ВВОД. Эта
необязательная команда позволяет видеть вводимые знаки. Этот
параметр может быть необходим для некоторых SMTP-серверов.
- Введите set logfile <имя_файла>. Это
необязательная команда включает ведение журнала сеанса Telnet в
указанный файл журнала. Если указать только имя файла,
местоположением файла журнала будет текущий рабочий каталог. При
указании пути и имени файла путь должен быть локальным для
компьютера. И путь, и имя файла необходимо вводить в формате
Microsoft DOS 8.3. Указанный путь должен уже существовать.
Если указать файл журнала, который не существует, он будет
создан.
- Введите open mail1.fabrikam.com 25 и нажмите клавишу
ВВОД.
Примечание. После подключения к SMTP-серверу назначения в сеансе Telnet нельзя использовать клавишу BACKSPACE. Если при вводе команды SMTP допущена ошибка, следует нажать клавишу ВВОД и повторно ввести команду. Неизвестные команды SMTP или синтаксические ошибки приведут к появлению сообщения об ошибке следующего вида: Скопировать код 500 5.3.3 Unrecognized command
- Введите EHLO contoso.com и нажмите клавишу ВВОД.
- Введите MAIL FROM:chris@contoso.com и нажмите клавишу
ВВОД.
- Введите RCPT TO:kate@fabrikam.com NOTIFY=success,failure
и нажмите клавишу ВВОД. Необязательная команда NOTIFY определяет
конкретные уведомления о доставке, которые SMTP-сервер назначения
должен предоставить отправителю. Уведомления о доставке определены
в стандарте RFC 1891. В данном случае запрашивается
уведомление об успешной доставке или невозможности доставки
сообщения.
- Введите DATA и нажмите клавишу ВВОД. Появится отклик,
подобный приведенному ниже:
Скопировать код 354 Start mail input; end with <CLRF>.<CLRF>
- Введите Subject: Test from Contoso и нажмите клавишу
ВВОД.
- Нажмите клавишу ВВОД. Стандарт RFC 2822 требует, чтобы
между полем заголовка
Subject:
и текстом сообщения была пустая строка.
- Введите This is a test message и нажмите клавишу
ВВОД.
- Нажмите клавишу ВВОД, введите точку ( . ) и нажмите
клавишу ВВОД. Будет получен ответ, подобный приведенному ниже:
Скопировать код 250 2.6.0 <GUID> Queued mail for delivery
- Чтобы отключиться от конечного сервера SMTP, введите
QUIT и нажмите клавишу ВВОД. Будет получен ответ, подобный
приведенному ниже:
Скопировать код 221 2.0.0 Service closing transmission channel
- Чтобы закрыть сеанс Telnet, введите quit и нажмите
клавишу ВВОД.
Оценка результатов сеанса Telnet
В этом разделе приведены подробные сведения о возможных откликах на команды, введенные в предыдущем примере:
- Open mail1.fabrikam.com 25
- EHLO contoso.com
- MAIL FROM:chris@contoso.com
- RCPT TO:kate@fabrikam.com NOTIFY=success,failure
Примечание. Трехзначные коды ответов SMTP, определенные в стандарте RFC 2821, одинаковы для всех серверов SMTP обмена сообщениями. Текстовые описания могут слегка отличаться для некоторых SMTP-серверов обмена сообщениями. В предыдущем примере конечный компьютер работает под управлением сервера Exchange Server 2010.
Open mail1.fabrikam.com 25
Положительный ответ 220
mail1.fabrikam.com Microsoft ESMTP MAIL Service ready at
<day-date-time>
Отрицательный
ответ Connecting to
mail1.fabrikam.com...Could not open connection to the host, on port
25: Connect failed
Возможные причины сбоя
- SMTP-служба назначения недоступна.
- На брандмауэре назначения установлены ограничения.
- На брандмауэре источника установлены ограничения.
- Указано неверное полное доменное имя или IP-адрес для
SMTP-сервера назначения.
- Указан неверный номер порта.
EHLO contoso.com
Положительный ответ 250
mail1.fabrikam.com Hello [<sourceIPaddress>]
Отрицательный ответ 501
5.5.4 Invalid domain name
Возможные причины сбоя В имени домена содержатся недопустимые символы. Кроме того, на SMTP-сервере назначения установлены ограничения на подключение.
Примечание. |
---|
EHLO — это команда протокола ESMTP (Extended Simple Message Transfer Protocol), определенная в стандарте RFC 2821. Серверы ESMTP могут объявлять о своих возможностях в процессе начального подключения. Эти возможности включают максимально допустимый размер сообщения и поддерживаемые методы проверки подлинности. HELO — это более старая команда SMTP, определенная в стандарте RFC 821. Большинство серверов SMTP обмена сообщениями поддерживают команды ESMTP и EHLO. |
MAIL FROM:chris@contoso.com
Положительный ответ 250
2.1.0 Sender OK
Отрицательный ответ 550
5.1.7 Invalid address
Возможные причины сбоя Синтаксическая ошибка в адресе электронной почты отправителя.
Отрицательный ответ 530
5.7.1 Client was not authenticated
Возможные причины сбоя Конечный сервер не принимает отправку анонимных сообщений. Эта ошибка возникает при попытке использовать Telnet для отправки сообщения напрямую на транспортный сервер-концентратор.
RCPT TO:kate@fabrikam.com NOTIFY=success,failure
Положительный ответ 250
2.1.5 Recipient OK
Отрицательный ответ 550
5.1.1 User unknown
Возможные причины сбоя Указанный получатель не существует в организации.