Всё о о Microsoft Exchange Server и электронной почте.

Forward сообщений на внешний адрес или чудеса Categorizer.

Прочитав один из постов на http://forum.sysadmins.ru/  я вспомнил историю, от которой у меня мозги съехали набекрень из-за непонимания алгоритма работы.

Один из наших админов уехал работать в Африку и попросил сделать ему  форвард всех писем на новый адрес. Решение с заведением контакта с внешним адресом и установкой переадресации на него не подходит, т.к. учетная запись будет заблокирована и вскоре удалена, а форвард должен работать пару месяцев, а также наши пользователи должны знать, что у человека внешний адрес. Нашел в Интернете интересное решение, которое точно работает на Exchange 2003.

1.       Создается контакт с адресом pavel@mail.ru

2.       Добавляем любой адрес из вашего домена, например Pavel.Nagaev@yourdomain.ru

3.       Проверяем, что pavel@mail.ru  установлен по умолчанию.

Отправляем сообщение из Интернет, на Pavel.Nagaev@yourdomain.ru, оно будет доставлено на ваш сервер и перенаправлено на pavel@mail.ru.

Вопрос встал такой, а как же это работает? Моя версия такая(именно версия, ибо я точно не уверен, что так работает.)

Есть такая служба внутри SMTP – Categorizer. Так вот, именно она определяет, что делать с сообщением. Сообщения могут быть трех типов: для локальной доставки, для удаленной доставки на другой сервер Exchange и для удаленной доставки на внешний сервер.  Что же получается у нас. Поскольку у контакта есть внутренний адрес Pavel.Nagaev@yourdomain.ru, то SMTP сервер примет сообщение и передаст его Categorizer.  Categorizer определит его, как сообщение для удаленной доставки на внешний сервер и передаст на отправку. Вот собственно объяснение. Еще нужно чтобы «automatic forwarding» был разрешен.

Я настраивал переадресацию по статье Mark Fugatt  Forwarding Mail to an External Recipient  У Марка есть свое объяснение работы форварда: «This is how it works: A message is sent to jsmith@pager.comsphere.com. Exchange receives the message and finds a match in AD (the contact we created). It also sees that the primary email address for the contact is an external SMTP address. Exchange automatically forwards the message to this primary address. No mailbox mess and automatic forwarding. This also works for those of you using Exchange 5.5. Make a Custom Recipient and use the same logic: external address for the primary address and an additional SMTP address with the internal namespace»Полезные статьи:
How the SMTP categorizer works in Exchange Server and Active Directory
Поток писем на сервере Exchange 2003 (Часть 1)
Поток писем на сервере Exchange 2003 (Часть 2)

Похожие посты:

  • http://www.exchangerus.ru Pavel Nagaev

    В случае, если смартхост не указан, то он будет искать путь, т.е. смотреть коннекторы. Если путь не найдет, то письмо зависнет в очереди. Письмо должно отправляться по стандартной схеме.

  • http://www.exchangerus.ru Pavel Nagaev

    Я имел ввиду стандартный механизм отправки сообщений, описанный по этой ссылке:

    http://www.redline-software.com/rus/support/articles/msexchange/2003/exchange-server-2003-mailflow-part1.php

    Это читали? http://technet.microsoft.com/en-us/library/aa997477.aspx

    Sending Internet Mail
    Assuming there is a constant Internet connection, Exchange sends Internet mail by the following methods:
    • It uses DNS directly to contact the remote mail server.
    • It routes mail through a smart host that assumes responsibility for DNS name resolution and mail delivery.
    Before each of these methods is described in detail, you should have a general understanding of how outbound mail flows in an Exchange organization.
    Outbound Internet mail flows through an Exchange Server 2003 server in the following manner:
    1. An internal user sends a message to a recipient in a remote domain.
    2. To determine if the recipient is local or remote, the SMTP virtual server on the sender’s Exchange server uses internal transport functions to query the global catalog server for the recipient address. If the recipient address on the message is not in a recipient policy, it is not stored in Active Directory; therefore, Exchange determines that the message is destined for a remote domain.
    3. If necessary, the Exchange server delivers the message to the appropriate SMTP virtual server.
    4. The SMTP virtual server uses its IIS metabase information to determine the method for delivering a message to a remote domain.
    5. The SMTP virtual server on the Exchange server then performs one of two actions:
    • Uses DNS to look up the IP address for the target domain, and then attempts to deliver the message.
    • Forwards the message to a smart host that assumes responsibility for the DNS resolution and delivery of the message.

  • wagner

    Павел — вопрос чуть дальше,
    после того как Categorizer определил что письмо для внешних, он его пердает кому?

    могут быть такие варианты:
    — передает смарт хосту если прописан в …Protocols SMTP Delivery Advanced
    — передает SMTP коннектору если есть адресное пространство или оно *

  • wagner

    Можно пояснить «письмо должно отправляться по стандартной схеме» ?

  • http://www.exchangerus.ru Pavel Nagaev

    Мне кажется немного не так.

    1. Поиск SMTP коннекторов для удаленного домена.
    2. Если коннектор найден, то выбирается способ доставки Smart host или DNS в зависимости от настроек коннектора.
    3. Если не найден, то настройки о способе доставки Smart host или DNS берутся по умолчанию на SMTP сервере.

    Опимально использовать коннекторов SMTP, т.к. у Вас больше развязаны руки по управлению маршрутизацией.

  • wagner

    Прочитал …
    по сути дела этапы поиска маршрута таковы:
    1) смотрим есть ли smart-host или прямая доставка
    2) есть ли запись MX DNS
    3) есть ли SMTP-Connector
    То есть наиболее оптимально использовать 1 вариант, но и 3 возможен ?

  • wagner

    Теперь все понятно … спасибо огромное !

  • ddk

    Здравствуйте.
    А подскажите
    2. Добавляем любой адрес из вашего домена, например Pavel.Nagaev@yourdomain.ru  <-  ведь здесь нужно вставить именно адрес человека из африки, т.е. его старый адрес, ведь люди будут слать письма на его ящик.
    Заранее благодарен.

  • ddk

    Все извиняюсь — это ведь всего лишь пример а не инструкция к действию. Поробовал действительно работает. Спасибо.