Share via


Transport Agents Architecture

Topic Last Modified: 2007-06-18

The Microsoft.Exchange.Data.Transport namespace and the namespaces that it contains provide classes that enable extending the behavior of Microsoft Exchange Server 2007 transport. With these classes, you can implement class libraries that you can install on a computer that is running Exchange 2007 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.

SMTP events

Sequence SMTP Event Description

1

OnConnect

Triggered upon initial connection from a remote SMTP host.

2

OnHeloCommand

Triggered when the HELO SMTP verb is issued by the remote SMTP host.

3

OnEhloCommand

Triggered when the EHLO SMTP verb is issued by the remote SMTP host.

4

OnAuthCommand

Triggered when the AUTH SMTP verb is issued by the remote SMTP host.

5

OnEndOfAuthentication

Triggered when the remote SMTP host has finished authentication.

6

OnMailCommand

Triggered when the MAIL FROM SMTP verb is issued by the remote SMTP host.

7

OnRcptCommand

Triggered when the RCPT TO SMTP verb is issued by the remote SMTP host.

8

OnDataCommand

Triggered when the DATA SMTP verb is issued by the remote SMTP host.

9

OnEndOfHeaders

Triggered when the remote SMTP host has finished submitting the e-mail message headers.

10

OnEndOfData

Triggered when the remote SMTP host issues <CRLF>.<CRLF>, which indicates the end of data.

After OnConnectEvent

OnHelpCommand

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

OnNoopCommand

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

OnReject

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

OnRsetCommand

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

OnDisconnect

Triggered upon disconnection of the SMTP conversation by either a receiving or sending SMTP host.

12

OnSubmittedMessage

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

OnRoutedMessage

Triggered after messages have been categorized, distribution lists have been expanded, and recipients have been resolved

See Also

Reference

Microsoft.Exchange.Data.Transport

Other Resources

Transport Agents