Agenti di trasportoTransport agents

Si applica a: Exchange Server 2013Applies to: Exchange Server 2013

Gli agenti di trasporto consentono di installare software personalizzato creato da Microsoft, da fornitori di terze parti o dall'organizzazione in un server Exchange.Transport agents let you install custom software that is created by Microsoft, by third-party vendors, or by your organization, on an Exchange server. Questo software può quindi elaborare i messaggi di posta elettronica che passano attraverso la pipeline di trasporto.This software can then process email messages that pass through the transport pipeline. In Microsoft Exchange Server 2013, la pipeline di trasporto è costituita dai processi seguenti:In Microsoft Exchange Server 2013, the transport pipeline is made of the following processes:

  • Il servizio trasporto front-end sui server Accesso clientThe Front End Transport service on Client Access servers

  • Il servizio di trasporto sui server cassette postaliThe Transport service on Mailbox servers

  • Il servizio trasporto cassette postali sui server cassette postaliThe Mailbox Transport service on Mailbox servers

  • Servizio di trasporto nei server Trasporto EdgeThe Transport service on Edge Transport servers

Per ulteriori informazioni sulla pipeline di trasporto, vedere flusso di postaFor more information about the transport pipeline, see Mail flow

Analogamente alla versione precedente di Exchange, Exchange 2013 Transport fornisce l'estensibilità tramite Microsoft Exchange Server 2013 Transport Agents SDK.Like the previous version of Exchange, Exchange 2013 transport provides extensibility through the Microsoft Exchange Server 2013 Transport Agents SDK. La versione di Exchange 2013 dell'SDK si basa su Microsoft .NET Framework versione 4,0 e consente a terze parti di implementare le classi predefinite seguenti: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

Se sono soddisfatte le raccolte in SDK, gli assembly risultanti vengono registrati con Exchange 2013, che carica gli agenti e richiama i gestori eventi durante le fasi specifiche delle sessioni SMTP o dell'elaborazione dei messaggi.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. Queste fasi, o eventi, fanno parte delle definizioni degli agenti.These stages, or events, are part of the agent definitions. Le informazioni di registrazione dell'agente vengono memorizzate in un file di configurazione XML.The agent registration information is stored in an XML configuration file.

Nell'elenco seguente vengono illustrati i requisiti per l'utilizzo di agenti di trasporto in Exchange 2013.The following list explains the requirements for using transport agents in Exchange 2013.

  • Il servizio di trasporto sui server cassette postali e i server Trasporto Edge supporta completamente tutte le classi predefinite in SDK e pertanto gli agenti di trasporto di terze parti scritti per i ruoli del server Trasporto Hub o Trasporto Edge in Microsoft Exchange Server 2010 dovrebbe funzionare nel servizio di trasporto in 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.

  • Il servizio di trasporto front-end supporta solo la classe SmtpReceiveAgent in SDK e gli agenti di terze parti non possono operare sull'evento 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.

  • Il servizio di trasporto delle cassette postali non supporta affatto l'SDK, pertanto non è possibile utilizzare agenti di terze parti nel servizio di trasporto delle cassette postali.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.

Il supporto per gli agenti di trasporto Legacy basati su versioni di .NET Framework precedenti alla versione 4,0 non è abilitato per impostazione predefinita, ma è possibile attivarlo.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. Per istruzioni, vedere Attivare il supporto per gli agenti di trasporto legacy.For instructions, see Enable support for legacy transport agents.

Aggiornamenti per la gestione degli agenti di trasportoUpdates to transport agent management

A causa degli aggiornamenti alla pipeline di trasporto di Exchange 2013, i cmdlet per gli agenti di trasporto devono distinguere tra il servizio di trasporto e il servizio di trasporto front-end, soprattutto se il server Accesso client e il server cassette postali sono installati nello stesso computer.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. Per ulteriori informazioni, vedere gestire gli agenti di trasporto.For more information, see Manage transport agents.

I cmdlet di gestione degli agenti di trasporto modificano un %ExchangeInstallPath%TransportRoles\Sharedfile di configurazione che si trova in.Transport Agent management cmdlets manipulate a configuration file located at %ExchangeInstallPath%TransportRoles\Shared. Per il servizio di trasporto sui server cassette postali e trasporto Edge, il agents.configfile è.For the Transport service on Mailbox servers and Edge Transport servers, the file is agents.config. Per il servizio di trasporto front-end sui server Accesso client, il fetagents.configfile è.For the Front End Transport service on Client Access servers, the file is fetagents.config. Entrambi i file utilizzano lo stesso formato di Exchange 2010.Both files use the same format as in Exchange 2010. Per ulteriori informazioni sulla gestione degli agenti di trasporto, vedere Manage Transport Agents.For more information about managing transport agents, see Manage transport agents.

Agenti di trasporto e eventi SMTPTransport agents and SMTP events

Gli agenti di trasporto utilizzano gli eventi SMTP.Transport agents use SMTP events. Questi eventi vengono attivati quando i messaggi passano attraverso la pipeline di trasporto.These events are triggered as messages move through the transport pipeline. Gli eventi SMTP offrono agli agenti di trasporto l'accesso ai messaggi in punti specifici durante la conversazione SMTP e durante il routing dei messaggi tramite l'organizzazione.SMTP events give transport agents access to messages at specific points during the SMTP conversation and during routing of messages through the organization.

Tenere presente che sono presenti nuovi eventi di ricezione SMTP in Exchange 2013.Note that there are new SMTP Receive events in Exchange 2013. La ricezione SMTP esiste nel servizio di trasporto front-end sui server Accesso client, il servizio di trasporto sui server cassette postali e i server Trasporto Edge e il servizio recapito alle cassette postali sui server cassette postali.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. Il classificatore esiste solo nel servizio di trasporto sui server cassette postali e trasporto Edge.The categorizer exists only in the Transport service on Mailbox servers and Edge Transport servers. Per ulteriori informazioni sui servizi di trasporto e sul classificatore, vedere routing della posta.For more information about transport services and the categorizer, see Mail routing.

Nelle tabelle seguenti sono elencati gli eventi SMTP che forniscono l'accesso ai messaggi nella pipeline di trasporto.The following tables list the SMTP events that provide access to messages in the transport pipeline.

Eventi di ricezione SMTPSMTP Receive events

SequenzaSequence Evento SMTPSMTP event DescrizioneDescription

11

OnConnectEventOnConnectEvent

Questo evento viene attivato dalla connessione iniziale da un host SMTP remoto.This event is triggered by the initial connection from a remote SMTP host.

22

OnHeloCommandOnHeloCommand

Questo evento viene attivato quando il HELO comando viene emesso dall'host SMTP remoto.This event is triggered when the HELO command is issued by the remote SMTP host.

33

OnEhloCommandOnEhloCommand

Questo evento viene attivato quando il EHLO comando viene emesso dall'host SMTP remoto.This event is triggered when the EHLO command is issued by the remote SMTP host.

44

OnStartTlsCommandOnStartTlsCommand

Questo evento viene attivato quando il STARTTLS comando viene emesso dall'host SMTP remoto.This event is triggered when the STARTTLS command is issued by the remote SMTP host.

55

OnAuthCommandOnAuthCommand

Questo evento viene attivato quando il AUTH comando viene emesso dall'host SMTP remoto.This event is triggered when the AUTH command is issued by the remote SMTP host.

66

OnProcessAuthenticationOnProcessAuthentication

Questo evento viene attivato quando l'autenticazione con l'host SMTP remoto è in fase di elaborazione.This event is triggered when authentication with the remote SMTP host is being processed.

77

OnEndOfAuthenticationOnEndOfAuthentication

Questo evento viene attivato quando l'host SMTP remoto ha completato l'autenticazione.This event is triggered when the remote SMTP host has completed authentication.

8 8

OnXSessionParamsCommandOnXSessionParamsCommand

Questo evento viene attivato quando il XSESSIONPARAMS comando viene emesso dall'host SMTP remoto.This event is triggered when the XSESSIONPARAMS command is issued by the remote SMTP host.

9 9

OnMailCommandOnMailCommand

Questo evento viene attivato quando il MAIL FROM comando viene emesso dall'host SMTP remoto.This event is triggered when the MAIL FROM command is issued by the remote SMTP host.

10 10

OnRcptToCommandOnRcptToCommand

Questo evento viene attivato quando il RCPT TO comando viene emesso dall'host SMTP remoto.This event is triggered when the RCPT TO command is issued by the remote SMTP host.

11 11

OnDataCommandOnDataCommand

Questo evento viene attivato quando il DATA comando (testo) o BDAT (dati binari) viene emesso dall'host SMTP remoto.This event is triggered when the DATA (text) or BDAT (binary data) command is issued by the remote SMTP host.

1212

OnEndOfHeadersOnEndOfHeaders

Questo evento viene attivato quando l'host SMTP remoto ha completato l'invio delle intestazioni del messaggio di posta elettronica.This event is triggered when the remote SMTP host has completed submitting the email message headers. Questo è indicato da una riga vuota (<CRLF>) che separa le intestazioni del messaggio e il corpo del messaggio.This is indicated by a blank line (<CRLF>) that separates the message headers and the message body.

1313

OnProxyInboundMessageOnProxyInboundMessage

Questo evento viene attivato quando una sessione SMTP in ingresso viene inoltrata o inoltrata dal servizio trasporto front-end su un server Accesso client al servizio di trasporto su un server cassette postali.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.

14 14

OnEndOfDataOnEndOfData

Questo evento viene attivato quando l'host SMTP remoto rilascia un comando fine dati.This event is triggered when the remote SMTP host issues an end of data command. Per le sessioni di testo avviate dal DATA comando, l'indicatore di fine <CRLF>.<CRLF>dati è.For text sessions started by the DATA command, the end of data indicator is <CRLF>.<CRLF>. Per le sessioni binarie avviate dal BDAT comando, l'indicatore di fine BDAT LASTdati è.For binary sessions started by the BDAT command, the end of data indicator is BDAT LAST.

**

OnHelpCommandOnHelpCommand

Questo evento viene attivato se il HELP comando viene emesso dall'host SMTP remoto.This event is triggered if the HELP command is issued by the remote SMTP host.

**

OnNoopCommandOnNoopCommand

Questo evento viene attivato se il NOOP comando viene emesso dall'host SMTP remoto.This event is triggered if the NOOP command is issued by the remote SMTP host.

**

OnRejectOnReject

Questo evento viene attivato se l'host SMTP di ricezione rilascia un codice DSN (Delivery Status Notification) temporaneo o permanente all'host SMTP di invio.This event is triggered if the receiving SMTP host issues a temporary or permanent delivery status notification (DSN) code to the sending SMTP host.

**

OnRsetCommandOnRsetCommand

Questo evento viene attivato se il RSET comando viene emesso dall'host SMTP di invio.This event is triggered if the RSET command is issued by the sending SMTP host.

15 15

OnDisconnectEventOnDisconnectEvent

Questo evento viene attivato dalla disconnessione della conversazione SMTP da parte dell'host SMTP di ricezione o di invio.This event is triggered by the disconnection of the SMTP conversation by either the receiving or sending SMTP host. In genere, questo accade quando QUIT il comando viene emesso dall'host SMTP remoto.Typically, this happens when the QUIT command is issued by the remote SMTP host.

**Questi eventi possono verificarsi in qualsiasi momento dopo OnConnectEvent ma prima di OnDisconnectEvent.** These events can occur at any time after OnConnectEvent but before OnDisconnectEvent.

Eventi del classificatoreCategorizer events

SequenzaSequence Evento del classificatoreCategorizer event DescrizioneDescription

11

OnSubmittedMessageOnSubmittedMessage

Questo evento viene attivato quando un messaggio arriva nella coda di invio nel servizio di trasporto nel server cassette postali di ricezione o nel server Trasporto Edge.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

Questo evento viene attivato dopo che tutti i destinatari sono stati risolti, ma prima che l'hop successivo sia stato determinato per ogni destinatario.This event is triggered after all the recipients have been resolved, but before the next hop has been determined for each recipient. L'evento di routing OnResolvedMessage consente agli eventi successivi di ignorare il comportamento predefinito del routing tramite il metodo SetRoutingOverride per destinatario.The OnResolvedMessage routing event enables subsequent events to override the default routing behavior by using the per-recipient SetRoutingOverride method.

33

OnRoutedMessageOnRoutedMessage

Questo evento viene attivato dopo che i messaggi sono stati categorizzati, le liste di distribuzione sono state espanse e i destinatari sono stati risolti.This event is triggered after messages have been categorized, distribution lists have been expanded, and recipients have been resolved.

44

OnCategorizedMessageOnCategorizedMessage

Questo evento viene attivato quando il classificatore completa l'elaborazione del messaggio.This event is triggered when the categorizer completes processing the message.

Priorità degli agenti di trasportoPriority of transport agents

Sono disponibili due fattori che determinano l'ordine in cui gli agenti di trasporto agiscono sui messaggi nella pipeline di trasporto:There are two factors that determine the order that transport agents act on messages in the transport pipeline:

  1. L'evento SMTP in cui l'agente di trasporto è registrato e quando l'evento SMTP rileva i messaggi.The SMTP event where the transport agent is registered, and when that SMTP event encounters messages.

  2. Il valore di priorità assegnato all'agente di trasporto se sono presenti più agenti registrati nello stesso evento SMTP.The priority value that's assigned to the transport agent if there are multiple agents registered to the same SMTP event. La priorità più alta è 1.The highest priority is 1. Un valore intero più alto indica una priorità più bassa dell'agente.A higher integer value indicates a lower agent priority.

Si supponga, ad esempio, che siano stati configurati gli agenti di trasporto seguenti:For example, suppose you configured the following transport agents:

  • L'agente di trasporto A con priorità 1 e l'agente di trasporto C con priorità 2 sono registrati nell'evento SMTP di OnEndOfHeaders .Transport Agent A with a priority of 1 and Transport Agent C with a priority of 2 are registered to the OnEndOfHeaders SMTP event.

  • L'agente di trasporto B con una priorità di 4 è registrato nell'evento SMTP OnMailCommand .Transport Agent B with a priority of 4 is registered to the OnMailCommand SMTP event.

L'agente di trasporto B viene applicato prima ai messaggi perché l'evento OnMailCommand rileva i messaggi prima dell'evento OnEndOfHeaders .Transport Agent B is applied to messages first because the OnMailCommand event encounters messages before the OnEndOfHeaders event. Quando i messaggi raggiungono l'evento OnEndOfHeaders , l'agente di trasporto a viene applicato prima dell'agente di trasporto c, in quanto l'agente di trasporto a ha una priorità più alta (valore intero inferiore) rispetto all'agente di trasporto c.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.

Agenti di trasporto incorporatiBuilt-in transport agents

Exchange 2013 include numerosi agenti di trasporto incorporati che forniscono funzionalità quali la protezione da posta indesiderata, le regole di trasporto e l'inserimento nel journal.Exchange 2013 includes many built-in transport agents that provide features such as anti-spam, transport rules and journaling. La maggior parte degli agenti di trasporto incorporati nei server cassette postali di Exchange 2013 e nei server Accesso client sono invisibili e non gestibili dai cmdlet per la gestione degli agenti di trasporto.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. Quasi tutti gli agenti di trasporto incorporati che sono visibili e gestibili sono presenti nel servizio di trasporto sui server cassette postali e sui server Trasporto Edge.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.

Gli agenti di trasporto incorporati più interessanti nei server cassette postali sono descritti nella tabella seguente.The more interesting built-in transport agents on Mailbox servers are described in the following table. Si noti che questa tabella non include molti degli agenti di trasporto invisibili e non gestibili.Note that this table doesn't include many of the invisible and unmanageable transport agents.

Interessante agente di trasporto incorporato nei server cassette postaliInteresting built-in transport agents on Mailbox servers

Nome agenteAgent name Gestibilità?Manageable? PriorityPriority Eventi SMTP o classificatoreSMTP or categorizer events

Agente della regola di trasportoTransport Rule Agent

Yes

11

OnResolvedMessageOnResolvedMessage

Agente MalwareMalware Agent

Yes

22

OnSubmittedMessageOnSubmittedMessage

Agente di routing per la messaggistica di testoText Messaging Routing Agent

Yes

33

OnSubmittedMessageOnSubmittedMessage

Agente di recapito della messaggistica di testoText Messaging Delivery Agent

Yes

44

n/dn/a

Agente di JournalJournal Agent

NoNo

Non configurabileNot configurable

OnRoutedMessageOnRoutedMessage

Agente di decrittografia dei rapporti del journalJournal Report Decryption Agent

NoNo

Non configurabileNot configurable

OnCategorizedMessageOnCategorizedMessage

Agente di decrittografia RMSRMS Decryption Agent

NoNo

Non configurabileNot configurable

OnSubmittedMessageOnSubmittedMessage

Agente di crittografia RMSRMS Encryption Agent

NoNo

Non configurabileNot configurable

OnSubmittedMessage, OnRoutedMessageOnSubmittedMessage, OnRoutedMessage

Agente di decrittografia del protocollo RMSRMS Protocol Decryption Agent

NoNo

Non configurabileNot configurable

OnEndOfDataOnEndOfData

Nei server Trasporto Edge, la maggior parte degli agenti di trasporto incorporati sono visibili e gestibili dai cmdlet per la gestione degli agenti di trasporto o da altri cmdlet specifici per le funzionalità.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.

Gli agenti di trasporto incorporati più interessanti nei server Trasporto Edge sono descritti nella tabella seguente.The more interesting built-in transport agents on Edge Transport servers are described in the following table. Tenere presente che questa tabella non include gli agenti di trasporto invisibili o non gestibili.Note that this table doesn't include invisible or unmanageable transport agents.

Interessante agente di trasporto incorporato nei server Trasporto EdgeInteresting built-in transport agents on Edge Transport servers

Nome agenteAgent name Gestibilità?Manageable? PriorityPriority Eventi SMTP o classificatoreSMTP or categorizer events

Agente filtro connessioniConnection Filtering Agent

Yes

11

OnConnectEvent, OnMailCommand, OnRcptComand, OnEndOfHeadersOnConnectEvent, OnMailCommand, OnRcptComand, OnEndOfHeaders

Riscrittura degli indirizzi agente in ingressoAddress Rewriting Inbound Agent

Yes

22

OnRcptCommand, OnEndOfHeadersOnRcptCommand, OnEndOfHeaders

Agente della regola del server perimetraleEdge Rule Agent

Yes

33

OnEndOfDataOnEndOfData

Agente filtro contenuto \*Content Filter Agent\*

Yes

44

OnEndOfDataOnEndOfData

Agente ID mittente \*Sender ID Agent\*

Yes

55

OnEndOfHeadersOnEndOfHeaders

Agente filtro mittente \*Sender Filter Agent\*

Yes

66

OnMailCommand, OnEndOfHeadersOnMailCommand, OnEndOfHeaders

Agente filtro destinatarioRecipient Filter Agent

Yes

77

OnRcptCommandOnRcptCommand

Agente di analisi del protocollo \*Protocol Analysis Agent\*

Yes

8 8

OnConnectEvent, OnEndOfHeaders, OnEndOfData, OnReject, OnRsetCommand, OnDisconnectEventOnConnectEvent, OnEndOfHeaders, OnEndOfData, OnReject, OnRsetCommand, OnDisconnectEvent

Agente filtro allegatiAttachment Filtering Agent

Yes

9 9

OnEndOfDataOnEndOfData

Agente di riscrittura degli indirizzi in uscitaAddress Rewriting Outbound Agent

Yes

10 10

OnSubmittedMessage, OnRoutedMessageOnSubmittedMessage, OnRoutedMessage

*È inoltre possibile installare e configurare gli agenti di protezione da posta indesiderata sui server cassette postali.* You can also install and configure these anti-spam agents on Mailbox servers. Per ulteriori informazioni, vedere Attivare la funzionalità di protezione dalla posta indesiderata sui server cassette postali.For more information, see Enable anti-spam functionality on Mailbox servers.

Risoluzione dei problemi relativi agli agenti di trasportoTroubleshoot transport agents

Per risolvere i problemi relativi agli agenti di trasporto, è possibile utilizzare le funzionalità seguenti:To help you troubleshoot issues with transport agents, you can use the following features:

  • Get-TransportPipeline: questo cmdlet Visualizza gli eventi SMTP e gli agenti di trasporto corrispondenti che incontrano i messaggi sul server Exchange.Get-TransportPipeline: This cmdlet shows the SMTP events and the corresponding transport agents that encounter messages on the Exchange server. Per ulteriori informazioni, vedere visualizzare gli agenti di trasporto nella pipeline di trasporto.For more information, see View transport agents in the transport pipeline.

  • Traccia pipeline: l'analisi della pipeline consente di creare uno snapshot esatto di un messaggio prima e dopo che ogni agente di trasporto sia stato rilevato.Pipeline Tracing: Pipeline tracing creates an exact snapshot of a message before and after it encounters each transport agent. In questo modo è possibile trovare un agente di trasporto che causa risultati imprevisti.This allows you to find a transport agent that's causing unexpected results. Per ulteriori informazioni, vedere analisi della pipeline.For more information, see Pipeline tracing.