Transport Agents Architecture
The Microsoft.Exchange.Data.Transport namespace and the namespaces that it contains provide classes that enable extending the behavior of Microsoft Exchange Server 2010 transport. With these classes, you can implement class libraries that you can install on a computer that is running Exchange 2010 that has the Edge Transport or Hub Transport server roles installed. After they are installed and enabled, these class libraries, or transport agents, can listen and respond to transport events. Transport agents have access to e-mail messages and their contents as they move through the transport services.
Transport Agents Events
Transport agents may listen and respond to several different Simple Mail Transfer Protocol (SMTP) events as messages move through the transport pipeline. The following table lists and describes the SMTP events to which a transport agent may respond.
Sequence |
SMTP Event |
Description |
---|---|---|
1 |
Triggered upon initial connection from a remote SMTP host. |
|
2 |
Triggered when the HELO SMTP verb is issued by the remote SMTP host. |
|
3 |
Triggered when the EHLO SMTP verb is issued by the remote SMTP host. |
|
4 |
Triggered when the AUTH SMTP verb is issued by the remote SMTP host. |
|
5 |
Triggered when the remote SMTP host has finished authentication. |
|
6 |
Triggered when the MAIL FROM SMTP verb is issued by the remote SMTP host. |
|
7 |
Triggered when the RCPT TO SMTP verb is issued by the remote SMTP host. |
|
8 |
Triggered when the DATA SMTP verb is issued by the remote SMTP host. |
|
9 |
Triggered when the remote SMTP host has finished submitting the e-mail message headers. |
|
10 |
Triggered when the remote SMTP host issues <CRLF>.<CRLF>, which indicates the end of data. |
|
After OnConnectEvent |
Triggered when the HELP SMTP verb is issued by the remote SMTP host. This event can occur at any time after the OnConnectEvent SMTP event and before the OnDisconnectEvent SMTP event. |
|
After OnConnectEvent |
Triggered when the NOOP SMTP verb is issued by the remote SMTP host. This event can occur at any time after the OnConnectEvent SMTP event and before the OnDisconnectEvent SMTP event. |
|
After OnConnectEvent |
Triggered when the receiving SMTP host issues a temporary or permanent delivery status notification (DSN) code to the sending SMTP host. This event can occur at any time after the OnConnectEvent SMTP event and before the OnDisconnectEvent SMTP event. |
|
After OnConnectEvent |
Triggered when the RSET SMTP verb is issued by the sending SMTP host. This event can occur at any time after the OnConnectEvent SMTP event and before the OnDisconnectEvent SMTP event. |
|
11 |
Triggered upon disconnection of the SMTP conversation by either a receiving or sending SMTP host. |
|
12 |
Triggered upon submission of a message into the Submission queues on the receiving SMTP host. All messages encounter this event whether they arrived through SMTP submission, MAPI submission, or the Pickup or Replay directories. |
|
13 |
Triggered after messages have been categorized, distribution lists have been expanded, and recipients have been resolved |