Агенты транспортаTransport agents

Применимо к: Exchange Server 2013Applies to: Exchange Server 2013

Агенты транспорта позволяют установить пользовательское программное обеспечение, созданное корпорацией Майкрософт, сторонними поставщиками или специалистами вашей организации, на сервер Exchange. Это программное обеспечение может обрабатывать сообщения электронной почты, которые проходят через транспортный конвейер. В Microsoft Exchange Server 2013 транспортный конвейер состоит из следующих процессов:Transport agents let you install custom software that is created by Microsoft, by third-party vendors, or by your organization, on an Exchange server. This software can then process email messages that pass through the transport pipeline. In Microsoft Exchange Server 2013, the transport pipeline is made of the following processes:

  • интерфейсная транспортная служба на серверах клиентского доступа;The Front End Transport service on Client Access servers

  • транспортная служба на серверах почтовых ящиков;The Transport service on Mailbox servers

  • транспортная служба почтовых ящиков на серверах почтовых ящиков;The Mailbox Transport service on Mailbox servers

  • транспортная служба на пограничных транспортных серверах.The Transport service on Edge Transport servers

Дополнительные сведения о транспортном конвейере см. в разделе Поток обработки почты.For more information about the transport pipeline, see Mail flow

Как и в предыдущих версиях Exchange, транспорт Exchange 2013 обеспечивает расширяемость посредством агентов транспорта пакета SDK Microsoft Exchange Server 2013.Like the previous version of Exchange, Exchange 2013 transport provides extensibility through the Microsoft Exchange Server 2013 Transport Agents SDK. Версия пакета SDK для Exchange 2013 основана на платформе Microsoft .NET Framework версии 4,0 и позволяет третьим сторонам реализовать следующие предопределенные классы:The Exchange 2013 version of the SDK is based on the Microsoft .NET Framework version 4.0 and allows third parties to implement the following predefined classes:

  • SmtpReceiveAgentSmtpReceiveAgent

  • RoutingAgentRoutingAgent

  • DeliveryAgentDeliveryAgent

После подчинения библиотекам в SDK получившиеся сборки регистрируются в Exchange 2013, который загружает агентов и вызывает обработчиков событий во время определенных стадий SMTP сессий или обработки сообщений. Эти стадии, или события, являются частью определений агентов. Регистрационные данные агента хранятся в файле конфигурации XML.When complied against libraries in the SDK, the resulting assemblies are registered with Exchange 2013, which loads the agents and invokes their event handlers during specific stages of the SMTP sessions or message processing. These stages, or events, are part of the agent definitions. The agent registration information is stored in an XML configuration file.

В следующем списке описываются требования для использования агентов транспорта в Exchange 2013.The following list explains the requirements for using transport agents in Exchange 2013.

  • Транспортная служба на серверах почтовых ящиков и пограничных транспортных серверах полностью поддерживает все предопределенные классы в SDK, и, следовательно, все сторонние агенты транспорта, написанные для ролей транспортного сервера-концентратора или пограничного транспортного сервера в Microsoft Exchange Server 2010 будут работать в службе транспорта Exchange 2013.The Transport service on Mailbox servers and Edge Transport servers fully supports all the predefined classes in the SDK, and therefore any third party transport agents written for the Hub Transport or Edge Transport server roles in Microsoft Exchange Server 2010 should work in the Transport service in Exchange 2013.

  • Служба транспорта переднего плана поддерживает только класс SmtpReceiveAgent в SDK, и сторонние агенты не могут работать с SMTP событием OnEndOfData.The Front End Transport service only supports the SmtpReceiveAgent class in the SDK, and third party agents can't operate on the OnEndOfData SMTP event.

  • Служба транспорта почтовых ящиков вообще не поддерживает SDK, поэтому нельзя использовать сторонних агентов в службе транспорта почтовых ящиков.The Mailbox Transport service doesn't support the SDK at all, so you can't use any third party agents in the Mailbox Transport service.

Поддержка устаревших агентов транспорта на основе версии .NET Framework до версии 4.0 не включена по умолчанию, но ее можно включить. Дополнительные сведения см. в разделе Включение поддержки устаревших агентов транспорта.Support for legacy transport agents based on versions of the .NET Framework prior to version 4.0 isn't enabled by default, but you can enable it. For instructions, see Enable support for legacy transport agents.

Обновления для службы управления агентами транспортаUpdates to transport agent management

В связи с обновлениями для транспортного конвейера Exchange 2013 командлеты агента транспорта должны различать службу транспорта и службу транспорта переднего плана, особенно если сервер клиентского доступа и сервер почтовых ящиков установлены на одном компьютере. Дополнительные сведения см. в разделе Управление агентами транспорта.Due to the updates to the Exchange 2013 transport pipeline, the transport agent cmdlets need to distinguish between the Transport service and the Front End Transport service, especially if the Client Access server and the Mailbox server are installed on the same computer. For more information, see Manage transport agents.

Командлеты управления агентами транспорта управляют файлом конфигурации, %ExchangeInstallPath%TransportRoles\Sharedрасположенным по адресу.Transport Agent management cmdlets manipulate a configuration file located at %ExchangeInstallPath%TransportRoles\Shared. Для службы транспорта на серверах почтовых ящиков и пограничных транспортных серверах agents.configфайл имеет значение.For the Transport service on Mailbox servers and Edge Transport servers, the file is agents.config. Для транспортной службы внешнего интерфейса на серверах клиентского доступа файл имеет fetagents.configзначение.For the Front End Transport service on Client Access servers, the file is fetagents.config. Оба файла используют тот же формат, что и в Exchange 2010.Both files use the same format as in Exchange 2010. Дополнительные сведения об управлении агентами транспорта содержатся в разделе Manage Transport Agents.For more information about managing transport agents, see Manage transport agents.

Агенты транспорта и события SMTPTransport agents and SMTP events

Агенты транспорта используют события SMTP. Такие события возникают при передаче сообщений через транспортный конвейер. События SMTP предоставляют агентам транспорта доступ к сообщениям в особых точках в процессе сеансов связи SMTP и при маршрутизации сообщений через организацию.Transport agents use SMTP events. These events are triggered as messages move through the transport pipeline. SMTP events give transport agents access to messages at specific points during the SMTP conversation and during routing of messages through the organization.

Обратите внимание, что в Exchange 2013 появились новые события получения SMTP. Они существуют в интерфейсной транспортной службе на серверах клиентского доступа, транспортной службе на серверах почтовых ящиков и пограничных транспортных серверах, а также в транспортной службе для доставки почты в почтовый ящик на серверах почтовых ящиков. Классификатор существует только в транспортной службе на серверах почтовых ящиков и пограничных транспортных серверах. Дополнительные сведения о транспортных службах и классификаторе см. в разделе Маршрутизация почты.Note that there are new SMTP Receive events in Exchange 2013. SMTP Receive exists in the Front End Transport service on Client Access servers, the Transport service on Mailbox servers and Edge Transport servers and the Mailbox Transport Delivery service on Mailbox servers. The categorizer exists only in the Transport service on Mailbox servers and Edge Transport servers. For more information about transport services and the categorizer, see Mail routing.

В следующих таблицах приведены события SMTP, предоставляющие доступ к сообщениям в конвейере транспорта.The following tables list the SMTP events that provide access to messages in the transport pipeline.

События приема SMTPSMTP Receive events

SequenceSequence событие SMTPSMTP event ОписаниеDescription

1,11

OnConnectEventOnConnectEvent

Это событие инициируется первоначальным подключением удаленного узла SMTP.This event is triggered by the initial connection from a remote SMTP host.

22

ОнхелокоммандOnHeloCommand

Это событие инициируется, когда удаленный HELO узел SMTP отправляет команду.This event is triggered when the HELO command is issued by the remote SMTP host.

43

ОнехлокоммандOnEhloCommand

Это событие инициируется, когда удаленный EHLO узел SMTP отправляет команду.This event is triggered when the EHLO command is issued by the remote SMTP host.

SP44

ОнстарттлскоммандOnStartTlsCommand

Это событие инициируется, когда удаленный STARTTLS узел SMTP отправляет команду.This event is triggered when the STARTTLS command is issued by the remote SMTP host.

17:005

ОнаускоммандOnAuthCommand

Это событие инициируется, когда удаленный AUTH узел SMTP отправляет команду.This event is triggered when the AUTH command is issued by the remote SMTP host.

6 6

ОнпроцессаусентикатионOnProcessAuthentication

Это событие инициируется, когда выполняется обработка проверки подлинности с помощью удаленного узла SMTP.This event is triggered when authentication with the remote SMTP host is being processed.

7 7

ОнендофаусентикатионOnEndOfAuthentication

Это событие инициируется, когда удаленный узел SMTP завершил проверку подлинности.This event is triggered when the remote SMTP host has completed authentication.

8 8

ОнкссессионпарамскоммандOnXSessionParamsCommand

Это событие инициируется, когда удаленный XSESSIONPARAMS узел SMTP отправляет команду.This event is triggered when the XSESSIONPARAMS command is issued by the remote SMTP host.

9 9

OnMailCommandOnMailCommand

Это событие инициируется, когда удаленный MAIL FROM узел SMTP отправляет команду.This event is triggered when the MAIL FROM command is issued by the remote SMTP host.

10 10

ОнркпттокоммандOnRcptToCommand

Это событие инициируется, когда удаленный RCPT TO узел SMTP отправляет команду.This event is triggered when the RCPT TO command is issued by the remote SMTP host.

-11:0011

ОндатакоммандOnDataCommand

Это событие инициируется, когда удаленный DATA узел SMTP отправляет команду BDAT (текст) или (двоичные данные).This event is triggered when the DATA (text) or BDAT (binary data) command is issued by the remote SMTP host.

1212

OnEndOfHeadersOnEndOfHeaders

Это событие инициируется, когда удаленный узел SMTP завершает передачу заголовков сообщений электронной почты.This event is triggered when the remote SMTP host has completed submitting the email message headers. Она обозначается пустой строкой (<CRLF>), которая отделяет заголовки и текст сообщения.This is indicated by a blank line (<CRLF>) that separates the message headers and the message body.

1313

ОнпроксинбаундмессажеOnProxyInboundMessage

Это событие инициируется, когда входящий сеанс SMTP ретранслируется или передается через прокси-сервер службой транспорта переднего плана на сервере клиентского доступа в службу транспорта на сервере почтовых ящиков.This event is triggered when an inbound SMTP session is relayed or proxied by the Front End Transport service on a Client Access server to the Transport service on a Mailbox server.

1414

OnEndOfDataOnEndOfData

Это событие инициируется, когда удаленный узел SMTP передает команду окончания данных.This event is triggered when the remote SMTP host issues an end of data command. Для текстовых сеансов, запущенных DATA командой, индикатор конца данных имеет значение <CRLF>.<CRLF>.For text sessions started by the DATA command, the end of data indicator is <CRLF>.<CRLF>. Для двоичных сеансов, запущенных BDAT командой, индикатор конца данных имеет значение BDAT LAST.For binary sessions started by the BDAT command, the end of data indicator is BDAT LAST.

**

ОнхелпкоммандOnHelpCommand

Это событие инициируется, если удаленный HELP узел SMTP выдает команду.This event is triggered if the HELP command is issued by the remote SMTP host.

**

ОннупкоммандOnNoopCommand

Это событие инициируется, если удаленный NOOP узел SMTP выдает команду.This event is triggered if the NOOP command is issued by the remote SMTP host.

**

OnrejectиеOnReject

Это событие инициируется, если узел-получатель SMTP передает временный или постоянный код уведомления о доставке (DSN) узлу-отправителю SMTP.This event is triggered if the receiving SMTP host issues a temporary or permanent delivery status notification (DSN) code to the sending SMTP host.

**

ОнрсеткоммандOnRsetCommand

Это событие инициируется, если узел RSET отправки SMTP выдает команду.This event is triggered if the RSET command is issued by the sending SMTP host.

означает15

OnDisconnectEventOnDisconnectEvent

Это событие инициируется при прекращении сеанса связи SMTP узлом-отправителем или узлом-получателем SMTP.This event is triggered by the disconnection of the SMTP conversation by either the receiving or sending SMTP host. Как правило, это происходит, QUIT когда удаленный узел SMTP отправляет команду.Typically, this happens when the QUIT command is issued by the remote SMTP host.

** Эти события могут возникать в любое время между событиями OnConnectEvent и OnDisconnectEvent.** These events can occur at any time after OnConnectEvent but before OnDisconnectEvent.

Классификатор событийCategorizer events

SequenceSequence Событие классификатораCategorizer event ОписаниеDescription

1,11

ОнсубмиттедмессажеOnSubmittedMessage

Это событие инициируется, когда сообщение попадает в очередь передачи в службе транспорта на принимающем сервере почтовых ящиков или пограничном транспортном сервере.This event is triggered when a message arrives in the Submission queue in the Transport service on the receiving Mailbox server or Edge Transport server.

22

OnResolvedMessageOnResolvedMessage

Это событие возникает после разрешения всех получателей, но до определения следующего перехода для каждого получателя. Событие маршрутизации OnResolvedMessage позволяет последующим событиям переопределять способ маршрутизации по умолчанию с помощью метода SetRoutingOverride, выполняемого для отдельных получателей. This event is triggered after all the recipients have been resolved, but before the next hop has been determined for each recipient. The OnResolvedMessage routing event enables subsequent events to override the default routing behavior by using the per-recipient SetRoutingOverride method.

43

ОнраутедмессажеOnRoutedMessage

Это событие инициируется после завершения классификации сообщений, расширения списков рассылки и разрешения получателей.This event is triggered after messages have been categorized, distribution lists have been expanded, and recipients have been resolved.

SP44

ОнкатегоризедмессажеOnCategorizedMessage

Это событие инициируется, когда классификатор завершает обработку сообщения.This event is triggered when the categorizer completes processing the message.

Приоритет агентов транспортаPriority of transport agents

Порядок действия агентов транспорта на сообщения в транспортном конвейере определяют два фактора:There are two factors that determine the order that transport agents act on messages in the transport pipeline:

  1. Событие SMTP, в котором зарегистрирован агент транспорта, и момент, когда такое событие SMTP обнаруживает сообщения.The SMTP event where the transport agent is registered, and when that SMTP event encounters messages.

  2. Значение приоритета, назначенное агенту транспорта, если в одном событии SMTP зарегистрировано несколько агентов. Самый высокий приоритет — 1. Чем больше значение, тем ниже приоритет агента.The priority value that's assigned to the transport agent if there are multiple agents registered to the same SMTP event. The highest priority is 1. A higher integer value indicates a lower agent priority.

Например, предположим, что настроены следующие агенты транспорта:For example, suppose you configured the following transport agents:

  • В событии SMTP OnEndOfHeaders зарегистрированы агент транспорта А с приоритетом 1 и агент транспорта В с приоритетом 2.Transport Agent A with a priority of 1 and Transport Agent C with a priority of 2 are registered to the OnEndOfHeaders SMTP event.

  • В событии SMTP OnMailCommand зарегистрирован агент транспорта Б с приоритетом 4.Transport Agent B with a priority of 4 is registered to the OnMailCommand SMTP event.

Сначала к сообщениям применяется агент транспорта Б, так как событие OnMailCommand обнаруживает сообщения раньше, чем событие OnEndOfHeaders. Когда сообщения достигают события OnEndOfHeaders, сначала применяется агент транспорта А, а затем — В, так как у первого из них приоритет выше (целое значение меньше).Transport Agent B is applied to messages first because the OnMailCommand event encounters messages before the OnEndOfHeaders event. When messages reach the OnEndOfHeaders event, Transport Agent A is applied before Transport Agent C because Transport Agent A has a higher priority (lower integer value) than Transport Agent C.

Встроенные агенты транспортаBuilt-in transport agents

Exchange 2013 включает множество встроенных агентов транспорта, которые обеспечивают такие функции, как защита от нежелательной почты, правила транспорта и ведение журнала. Большинство встроенных агентов транспорта на серверах почтовых ящиков и серверах клиентского доступа Exchange 2013 недоступны командлетам управления агентами транспорта и не могут контролироваться с их помощью. Практически все видимые и управляемые встроенные агенты транспорта находятся в транспортной службе на серверах почтовых ящиков и пограничных транспортных серверах.Exchange 2013 includes many built-in transport agents that provide features such as anti-spam, transport rules and journaling. Most of the built-in transport agents on Exchange 2013 Mailbox servers and Client Access servers are invisible and unmanageable by the transport agent management cmdlets. Virtually all of the built-in transport agents that are visible and manageable are in the Transport service on Mailbox servers and on Edge Transport servers.

Более интересные встроенные агенты транспорта на серверах почтовых ящиков описаны в таблице ниже. Обратите внимание, что в таблицу не включены многие невидимые агенты транспорта, которыми невозможно управлять.The more interesting built-in transport agents on Mailbox servers are described in the following table. Note that this table doesn't include many of the invisible and unmanageable transport agents.

Интересные встроенные агенты транспорта на серверах почтовых ящиковInteresting built-in transport agents on Mailbox servers

Имя агентаAgent name УправляемостьManageable? PriorityPriority События SMTP или классификатораSMTP or categorizer events

Агент правил транспортаTransport Rule Agent

ДаYes

1,11

OnResolvedMessageOnResolvedMessage

Агент защиты от вредоносных программMalware Agent

ДаYes

22

ОнсубмиттедмессажеOnSubmittedMessage

Агент маршрутизации обмена текстовыми сообщениямиText Messaging Routing Agent

ДаYes

43

ОнсубмиттедмессажеOnSubmittedMessage

Агент доставки обмена текстовыми сообщениямиText Messaging Delivery Agent

ДаYes

SP44

Недоступноn/a

Агент ведения журналаJournal Agent

НетNo

Не настраиваетсяNot configurable

ОнраутедмессажеOnRoutedMessage

Агент расшифровки отчетов журналаJournal Report Decryption Agent

НетNo

Не настраиваетсяNot configurable

ОнкатегоризедмессажеOnCategorizedMessage

Агент расшифровки RMSRMS Decryption Agent

НетNo

Не настраиваетсяNot configurable

ОнсубмиттедмессажеOnSubmittedMessage

Агент шифрования RMSRMS Encryption Agent

НетNo

Не настраиваетсяNot configurable

Онсубмиттедмессаже, онраутедмессажеOnSubmittedMessage, OnRoutedMessage

Агент расшифровки протокола RMSRMS Protocol Decryption Agent

НетNo

Не настраиваетсяNot configurable

OnEndOfDataOnEndOfData

На пограничных транспортных серверах большинство встроенных агентов транспорта доступны для командлетов агентов транспорта и других командлетов и могут контролироваться с их помощью.On Edge Transport servers, most of the built-in transport agents are visible and manageable by the transport agent management cmdlets or by other feature-specific cmdlets.

Другие интересные встроенные агенты транспорта на пограничных транспортных серверах описаны в таблице ниже. Обратите внимание, что в таблицу не включены невидимые агенты транспорта, которыми невозможно управлять.The more interesting built-in transport agents on Edge Transport servers are described in the following table. Note that this table doesn't include invisible or unmanageable transport agents.

Интересные встроенные агенты транспорта на пограничных транспортных серверахInteresting built-in transport agents on Edge Transport servers

Имя агентаAgent name УправляемостьManageable? PriorityPriority События SMTP или классификатораSMTP or categorizer events

Агент фильтрации подключенийConnection Filtering Agent

ДаYes

1,11

OnConnectEvent, OnMailCommand, онркпткоманд, OnEndOfHeadersOnConnectEvent, OnMailCommand, OnRcptComand, OnEndOfHeaders

Агент переопределения адресов входящих сообщенийAddress Rewriting Inbound Agent

ДаYes

22

Онркпткомманд, OnEndOfHeadersOnRcptCommand, OnEndOfHeaders

Агент пограничных правилEdge Rule Agent

ДаYes

43

OnEndOfDataOnEndOfData

Агент фильтра содержимого\*Content Filter Agent\*

ДаYes

SP44

OnEndOfDataOnEndOfData

Агент идентификации отправителей\*Sender ID Agent\*

ДаYes

17:005

OnEndOfHeadersOnEndOfHeaders

Агент фильтра отправителей\*Sender Filter Agent\*

ДаYes

6 6

OnMailCommand, OnEndOfHeadersOnMailCommand, OnEndOfHeaders

Агент фильтра получателейRecipient Filter Agent

ДаYes

7 7

ОнркпткоммандOnRcptCommand

Агент анализа протоколов\*Protocol Analysis Agent\*

ДаYes

8 8

OnConnectEvent, OnEndOfHeaders, OnEndOfData, отклонить, онрсеткомманд, OnDisconnectEventOnConnectEvent, OnEndOfHeaders, OnEndOfData, OnReject, OnRsetCommand, OnDisconnectEvent

Агент фильтрации вложенийAttachment Filtering Agent

ДаYes

9 9

OnEndOfDataOnEndOfData

Агент переопределения адресов исходящих сообщенийAddress Rewriting Outbound Agent

ДаYes

10 10

Онсубмиттедмессаже, онраутедмессажеOnSubmittedMessage, OnRoutedMessage

* Эти агенты защиты от нежелательной почты можно также установить и настроить на серверах почтовых ящиков. Дополнительные сведения см. в разделе Включение функции защиты от нежелательной почты на сервере почтовых ящиков.* You can also install and configure these anti-spam agents on Mailbox servers. For more information, see Enable anti-spam functionality on Mailbox servers.

Устранение неполадок агентов транспортаTroubleshoot transport agents

Устранить неполадки агентов транспорта можно с помощью следующих функций:To help you troubleshoot issues with transport agents, you can use the following features:

  • Get-TransportPipeline: Этот командлет показывает события SMTP и соответствующие агенты транспорта, которые обнаруживают сообщения на сервере Exchange.Get-TransportPipeline: This cmdlet shows the SMTP events and the corresponding transport agents that encounter messages on the Exchange server. Дополнительные сведения см. в статье Просмотр агентов транспорта втранспортном конвейере.For more information, see View transport agents in the transport pipeline.

  • Трассировка конвейера: конвейерная трассировка создает точный снимок сообщения до и после того, как он встретится с каждым агентом транспорта.Pipeline Tracing: Pipeline tracing creates an exact snapshot of a message before and after it encounters each transport agent. Это позволяет обнаружить агент транспорта, который приводит к неожиданным результатам.This allows you to find a transport agent that's causing unexpected results. Более подробную информацию можно узнать в статье конвейерная трассировка.For more information, see Pipeline tracing.