Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: Exchange Server 2013
Gli agenti di trasporto consentono di installare software personalizzato creato da Microsoft, da fornitori di terze parti o dall'organizzazione, su un server Exchange. Questo software può quindi elaborare i messaggi di posta elettronica che passano attraverso la pipeline di trasporto. In Microsoft Exchange Server 2013, la pipeline di trasporto è costituita dai seguenti processi:
Servizio Trasporto front-end nei server Accesso client
Il servizio di trasporto sui server Cassette postali
Servizio Trasporto cassette postali sui server Cassette postali
Servizio di trasporto nei server Trasporto Edge
Per altre informazioni sulla pipeline di trasporto, vedere Flusso di posta
Come la versione precedente di Exchange, il trasporto di Exchange 2013 offre estensibilità tramite l'SDK degli agenti di trasporto di Microsoft Exchange Server 2013. La versione Exchange 2013 di SDK si basa su Microsoft .NET Framework versione 4.0 e consente a terze parti di implementare le seguenti classi predefinite:
SmtpReceiveAgent
RoutingAgent
Agente di consegna
Quando vengono rispettate le librerie nell'SDK, gli assembly risultanti vengono registrati con Exchange 2013, che carica gli agenti e richiama i relativi gestori eventi durante fasi specifiche delle sessioni SMTP o dell'elaborazione dei messaggi. Queste fasi, o eventi, fanno parte delle definizioni dell'agente. Le informazioni di registrazione dell'agente vengono archiviate in un file di configurazione XML.
Nell'elenco seguente vengono illustrati i requisiti per l'utilizzo degli agenti di trasporto in Exchange 2013.
Il servizio di trasporto sui server Cassette postali e Trasporto Edge supporta completamente tutte le classi predefinite nell'SDK e pertanto tutti gli agenti di trasporto di terze parti scritti per i ruoli del server Trasporto Hub o Trasporto Edge in Microsoft Exchange Server 2010 devono funzionare nel servizio Trasporto in Exchange 2013.
Il servizio di trasporto front-end supporta solo la classe SmtpReceiveAgent nell'SDK e gli agenti di terze parti non possono operare sull'evento SMTP OnEndOfData .
Il servizio Trasporto cassette postali non supporta affatto l'SDK, quindi non è possibile utilizzare agenti di terze parti nel servizio Trasporto cassette postali.
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 abilitarlo. Per istruzioni, vedere Attivare il supporto per gli agenti di trasporto legacy.
Aggiornamenti alla gestione degli agenti di trasporto
A causa degli aggiornamenti della pipeline di trasporto di Exchange 2013, i cmdlet dell'agente di trasporto devono distinguere tra il servizio di trasporto e il servizio di trasporto front-end, in particolare se il server Accesso client e il server Cassette postali sono installati nello stesso computer. Per ulteriori informazioni, vedere Gestione degli agenti di trasporto.
I cmdlet di gestione dell'agente di trasporto manipolano un file di configurazione che si trova in %ExchangeInstallPath%TransportRoles\Shared. Per il servizio di trasporto sui server Cassette postali e Trasporto Edge, il file è agents.config. Per il servizio Trasporto front-end sui server Accesso client, il file è fetagents.config. Entrambi i file utilizzano lo stesso formato di Exchange 2010. Per ulteriori informazioni sulla gestione degli agenti di trasporto, vedere Gestione degli agenti di trasporto.
Agenti di trasporto ed eventi SMTP
Gli agenti di trasporto utilizzano gli eventi SMTP. Questi eventi vengono attivati quando i messaggi si spostano attraverso la pipeline di trasporto. Gli eventi SMTP consentono agli agenti di trasporto di accedere ai messaggi in momenti specifici durante la conversazione SMTP e durante il routing dei messaggi attraverso l'organizzazione.
Si noti che in Exchange 2013 sono presenti nuovi eventi di ricezione SMTP. La ricezione SMTP è presente nel servizio Trasporto front-end nei server Accesso client, nel servizio Trasporto nei server Cassette postali e Trasporto Edge e nel servizio di recapito Trasporto cassette postali nei server Cassette postali. Il classificatore è disponibile solo nel servizio Trasporto sui server Cassette postali e Trasporto Edge. Per ulteriori informazioni sui servizi di trasporto e sul classificatore, vedere Routing della posta.
Nelle tabelle seguenti sono elencati gli eventi SMTP che forniscono l'accesso ai messaggi nella pipeline di trasporto.
Eventi di ricezione SMTP
| Sequenza | Evento SMTP | Descrizione |
|---|---|---|
| 1 | OnConnectEvent | Questo evento viene attivato dalla connessione iniziale da un host SMTP remoto. |
| 2 | OnHeloCommand | Questo evento viene attivato quando il HELO comando viene emesso dall'host SMTP remoto. |
| 3 | OnEhloCommand | Questo evento viene attivato quando il EHLO comando viene emesso dall'host SMTP remoto. |
| 4 | OnStartTlsCommand | Questo evento viene attivato quando il STARTTLS comando viene emesso dall'host SMTP remoto. |
| 5 | OnAuthCommand | Questo evento viene attivato quando il AUTH comando viene emesso dall'host SMTP remoto. |
| 6 | OnProcessAuthentication | Questo evento viene attivato durante l'elaborazione dell'autenticazione con l'host SMTP remoto. |
| 7 | OnEndOfAuthentication | Questo evento viene attivato quando l'host SMTP remoto ha completato l'autenticazione. |
| 8 | OnXSessionParamsCommand | Questo evento viene attivato quando il XSESSIONPARAMS comando viene emesso dall'host SMTP remoto. |
| 9 | OnMailCommand | Questo evento viene attivato quando il MAIL FROM comando viene emesso dall'host SMTP remoto. |
| 10 | OnRcptToCommand | Questo evento viene attivato quando il RCPT TO comando viene emesso dall'host SMTP remoto. |
| 11 | OnDataCommand | Questo evento viene attivato quando il DATA comando (text) o BDAT (binary data) viene emesso dall'host SMTP remoto. |
| 12 | OnEndOfHeaders | Questo evento viene attivato quando l'host SMTP remoto ha completato l'invio delle intestazioni del messaggio di posta elettronica. Ciò è indicato da una riga vuota (<CRLF>) che separa le intestazioni e il corpo del messaggio. |
| 13 | OnProxyInboundMessage | Questo evento viene attivato quando una sessione SMTP in ingresso viene inoltrata o inoltrata tramite proxy dal servizio Trasporto front-end in un server Accesso client al servizio Trasporto in un server Cassette postali. |
| 14 | OnEndOfData | Questo evento viene attivato quando l'host SMTP remoto emette un comando di fine dati. Per le DATA sessioni di testo avviate dal comando, l'indicatore di fine dati è <CRLF>.<CRLF>. Per le sessioni binarie BDAT avviate dal comando, l'indicatore di fine dei dati è BDAT LAST. |
| ** | OnHelpCommand | Questo evento viene attivato se il HELP comando viene emesso dall'host SMTP remoto. |
| ** | OnNoopCommand | Questo evento viene attivato se il NOOP comando viene emesso dall'host SMTP remoto. |
| ** | OnReject | Questo evento viene attivato se l'host SMTP ricevente emette un codice di notifica sullo stato del recapito (DSN) temporaneo o permanente all'host SMTP mittente. |
| ** | OnRsetCommand | Questo evento viene attivato se il RSET comando viene emesso dall'host SMTP di invio. |
| 15 | OnDisconnectEvent | Questo evento viene attivato dalla disconnessione della conversazione SMTP da parte dell'host SMTP ricevente o mittente. In genere, ciò si verifica quando il QUIT comando viene emesso dall'host SMTP remoto. |
** Questi eventi possono verificarsi in qualsiasi momento dopo OnConnectEvent ma prima di OnDisconnectEvent.
Eventi del classificatore
| Sequenza | Evento SMTP | Descrizione |
|---|---|---|
| 1 | OnSubmittedMessage | Questo evento viene attivato quando un messaggio arriva nella coda di invio nel servizio di trasporto nel server Cassette postali ricevente o nel server Trasporto Edge. |
| 2 | OnResolvedMessage | Questo evento viene attivato dopo che tutti i destinatari sono stati risolti, ma prima che sia stato determinato l'hop successivo per ogni destinatario. L'evento di routing OnResolvedMessage consente agli eventi successivi di eseguire l'override del comportamento di routing predefinito usando il metodo SetRoutingOverride per destinatario. |
| 3 | OnRoutedMessage | Questo evento viene attivato dopo che i messaggi sono stati categorizzati, le liste di distribuzione sono state espanse e i destinatari sono stati risolti. |
| 4 | OnCategorizedMessage | Questo evento viene attivato quando il classificatore completa l'elaborazione del messaggio. |
Priorità degli agenti di trasporto
L'ordine in cui gli agenti di trasporto agiscono sui messaggi nella pipeline di trasporto è determinato da due fattori:
L'evento SMTP in cui viene registrato l'agente di trasporto e quando l'evento SMTP rileva messaggi.
Il valore di priorità assegnato all'agente di trasporto se sono presenti più agenti registrati nello stesso evento SMTP. La priorità più alta è 1. Un valore intero superiore indica una priorità dell'agente più bassa.
Si supponga, ad esempio, di aver configurato gli agenti di trasporto seguenti:
L'agente di trasporto A con priorità 1 e l'agente di trasporto C con priorità 2 vengono registrati nell'evento SMTP OnEndOfHeaders.
L'agente di trasporto B con priorità 4 viene registrato nell'evento SMTP OnMailCommand.
L'agente di trasporto B viene applicato per primo ai messaggi perché l'evento OnMailCommand rileva i messaggi prima dell'evento OnEndOfHeaders . Quando i messaggi raggiungono l'evento OnEndOfHeaders, l'agente di trasporto A viene applicato prima dell'agente di trasporto C, perché l'agente di trasporto A ha una priorità più alta (valore intero più basso) rispetto all'agente di trasporto C.
Agenti di trasporto predefiniti
Exchange 2013 include molti agenti di trasporto incorporati che forniscono funzionalità come la posta indesiderata, le regole di trasporto e l'inserimento nel journal. La maggior parte degli agenti di trasporto incorporati nei server Cassette postali e nei server Accesso client di Exchange 2013 è invisibile e non gestibile dai cmdlet di gestione dell'agente di trasporto. Praticamente tutti gli agenti di trasporto incorporati visibili e gestibili si trovano nel servizio Trasporto nei server Cassette postali e Trasporto Edge.
Gli agenti di trasporto incorporati più interessanti nei server Cassette postali sono descritti nella tabella seguente. Si noti che questa tabella non include molti degli agenti di trasporto invisibili e ingestibili.
Interessanti agenti di trasporto integrati nei server Cassette postali
| Nome agente | Gestibilità? | Priorità | Eventi SMTP o classificatore |
|---|---|---|---|
| Agente della regola di trasporto | Sì | 1 | OnResolvedMessage |
| Agente malware | Sì | 2 | OnSubmittedMessage |
| Agente di routing dei messaggi di testo | Sì | 3 | OnSubmittedMessage |
| Agente di recapito dei messaggi di testo | Sì | 4 | n/d |
| Agente di journal | No | Non configurabile | OnRoutedMessage |
| Agente di decrittografia dei rapporti del journal | No | Non configurabile | OnCategorizedMessage |
| Agente di decrittografia RMS | No | Non configurabile | OnSubmittedMessage |
| Agente di crittografia RMS | No | Non configurabile |
OnSubmittedMessage OnRoutedMessage |
| Agente di decrittografia del protocollo RMS | No | Non configurabile | OnEndOfData |
Nei server Trasporto Edge, la maggior parte degli agenti di trasporto predefiniti è visibile e gestibile dai cmdlet di gestione degli agenti di trasporto o da altri cmdlet specifici delle funzionalità.
Nella tabella seguente sono descritti gli agenti di trasporto incorporati più interessanti nei server Trasporto Edge. Tieni presente che questa tabella non include agenti di trasporto invisibili o ingestibili.
Interessanti agenti di trasporto integrati nei server Trasporto Edge
| Nome agente | Gestibilità? | Priorità | Eventi SMTP o classificatore |
|---|---|---|---|
| Agente filtro connessione | Sì | 1 |
OnConnectEvent OnMailCommand OnRcptComand OnEndOfHeaders |
| Riscrittura indirizzi Agente in entrata | Sì | 2 |
OnRcptComand OnEndOfHeaders |
| Agente regola di Edge | Sì | 3 | OnEndOfData |
| Agente filtro contenuto* | Sì | 4 | OnEndOfData |
| Agente ID mittente* | Sì | 5 | OnEndOfHeaders |
| Agente filtro mittente* | Sì | 6 |
OnMailCommand OnEndOfHeaders |
| Agente filtro destinatario | Sì | 7 | OnRcptCommand |
| Agente analisi protocollo* | Sì | 8 |
OnConnectEvent OnEndOfHeaders OnEndOfData OnReject OnRsetCommand OnDisconnectEvent |
| Agente filtro allegati | Sì | 9 | OnEndOfData |
| Riscrittura degli indirizzi Agente in uscita | Sì | 10 |
OnSubmittedMessage OnRoutedMessage |
* È anche possibile installare e configurare questi agenti di protezione dalla posta indesiderata nei server Cassette postali. Per ulteriori informazioni, vedere Attivare la funzionalità di protezione dalla posta indesiderata sui server cassette postali.
Risolvere i problemi degli agenti di trasporto
Per risolvere i problemi relativi agli agenti di trasporto, è possibile usare le funzionalità seguenti:
Get-TransportPipeline: questo cmdlet mostra gli eventi SMTP e gli agenti di trasporto corrispondenti che rilevano messaggi sul server Exchange. Per ulteriori informazioni, consulta Visualizzare gli agenti di trasporto nella pipeline di trasporto.
Traccia della pipeline: la traccia della pipeline crea un'istantanea esatta di un messaggio prima e dopo l'incontro con ogni agente di trasporto. In questo modo è possibile trovare un agente di trasporto che causa risultati imprevisti. Per ulteriori informazioni, consulta Traccia della pipeline.