Visão geral de agentes de transporte
Aplica-se a: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007
Tópico modificado em: 2007-07-17
Os agentes de transporte permitem instalar software personalizado, criado pela Microsoft, por fornecedores terceirizados ou por sua organização, em um computador que está executando o Microsoft Exchange Server 2007. Esse software, então, pode processar mensagens de email transmitidas pelo pipeline de transporte em um servidor de Transporte de Hub ou de Transporte de Borda. Os agentes de transporte personalizados oferecem funcionalidades adicionais ao Exchange 2007, como programas antivírus ou anti-spam, ou qualquer função de transporte de que sua organização possa precisar.
Os agentes de transporte são normalmente instalados de forma automática como parte dos aplicativos que são projetados para funcionar juntos com o Exchange 2007. Contudo, pode haver casos em que organizações optem por desenvolver os próprios agentes de transporte para gerenciar os emails que fluem por suas organizações do Exchange 2007.
Aviso
Os agentes de transporte têm acesso total a todas as mensagens de email que encontrarem. O Exchange não atribui restrições ao comportamento do agente de transporte. Os agentes de transporte instáveis ou que contêm falhas de segurança podem afetar a estabilidade e a segurança do Exchange. Por isso, você deve instalar apenas os agentes de transporte nos quais confia plenamente e que foram amplamente testados em um ambiente de teste.
Para obter informações sobre como gravar um novo agente de transporte, consulte Agentes de Transporte na "Documentação do Microsoft Exchange Server 2007 SDK" (página em inglês).
Para obter mais informações sobre o pipeline de transporte no Exchange 2007, consulte Arquitetura de Transporte.
Agentes de transporte e eventos SMTP
Os agentes de transporte gravados no Exchange 2007 usam eventos SMTP. Esses eventos são acionados à medida que as mensagens são movidas através do pipeline de transporte. Os eventos SMTP fornecem aos agentes de transporte acesso a mensagens em pontos especíificos durante a conversa SMTP e durante o roteamento de mensagens em toda a organização. A Tabela 1 lista os eventos SMTP que fornecem acesso a mensagens no pipeline de transporte:
Tabela 1 Eventos SMTP
Seqüência | Evento SMTP | Descrição |
---|---|---|
1 |
OnConnectEvent |
Esse evento é acionado na conexão inicial a partir de um host SMTP remoto. |
2 |
OnHeloCommand |
Esse evento é acionado quando o verbo SMTP |
3 |
OnEhloCommand |
Esse evento é acionado quando o verbo SMTP |
4 |
OnAuthCommand |
Esse evento é acionado quando o verbo SMTP |
5 |
OnEndOfAuthentication |
Esse evento é acionado quando o host SMTP remoto conclui a autenticação. |
6 |
OnMailCommand |
Esse evento é acionado quando o verbo SMTP |
7 |
OnRcptCommand |
Esse evento é acionado quando o verbo SMTP |
8 |
OnDataCommand |
Esse evento é acionado quando o verbo SMTP |
9 |
OnEndOfHeaders |
Esse evento é acionado quando o host SMTP remoto conclui o envio dos cabeçalhos de mensagem de email. |
10 |
OnEndOfData |
Esse evento é acionado quando o host SMTP remoto emite |
** |
OnHelpCommand |
Esse evento é acionado quando o verbo SMTP |
** |
OnNoopCommand |
Esse evento é acionado quando o verbo SMTP |
** |
OnReject |
Esse evento é acionado quando o host SMTP de recebimento emite um código de notificação de status de entrega (DNS) temporária ou permanente ao host SMTP de envio. Esse evento pode ocorrer a qualquer momento depois do evento SMTP OnConnectEvent e antes do evento SMTP OnDisconnectEvent. |
** |
OnRsetCommand |
Esse evento é acionado quando o verbo SMTP |
11 |
OnDisconnectEvent |
Esse evento é acionado quando a conversa SMTP é desconectada por um host SMTP de recebimento ou envio. |
12 |
OnSubmittedMessage |
Esse evento é acionado quando uma mensagem é enviada para as filas Envio no host SMTP de recebimento. Todas as mensagens encontrarão esse evento, se chegarem através do envio SMTP, do envio MAPI ou dos Diretórios de recebimento ou de repetição. |
13 |
OnResolvedMessage |
Este evento é acionado depois que todos os destinatários são resolvidos mas antes que o próximo salto seja determinado para cada destinatário. O evento de roteamento OnResolvedMessage permite que eventos subseqüentes substituam o comportamento de roteamento padrão usando o método SetRoutingOverride por destinatário. Dica O evento de roteamento OnResolvedMessage está disponível apenas no Exchange 2007 Service Pack 1 (SP1). |
14 |
OnRoutedMessage |
Esse evento é acionado depois que as mensagens forem categorizadas, que as listas de distribuição forem expandidas e que os destinatários forem resolvidos. |
Os agentes de transporte podem ser registrados em qualquer um dos eventos SMTP listados na Tabela 1. No entanto, a ação pretendida do agente de transporte sempre dita os eventos SMTP que serão executados.
Para agentes anti-spam, a consideração mais importante, diferente da validade do conteúdo da mensagem, é o ponto em que uma mensagem válida de spam é identificada e rejeitada. Quanto mais cedo a mensagem confirmada como spam for rejeitada, tanto menor será o custo para a sua empresa. Todos os eventos SMTP acionados antes de OnEndOfData não exigem que um recibo de NDR (falha na entrega) seja gerado pelo host SMTP de recebimento. Uma NDR não é gerada, porque o conteúdo completo da mensagem não é fornecido antes que o evento SMTP OnEndOfData seja atingido. Assim, o host SMTP de envio continua responsável pela entrega final da mensagem. Se houver falha na entrega para o host SMTP de recebimento antes do evento SMTP OnEndOfData, o host SMTP de envio deve gerar a NDR para o remetente da mensagem. Depois que o evento SMTP OnEndOfData for atingido, o host SMTP de recebimento aceitou todo o conteúdo da mensagem. Isso significa que o host SMTP agora tem a responsabilidade de fornecer a mensagem com sucesso, gerar e enviar uma NDR ao remetente da mensagem. Por isso, é muito importante que um agente anti-spam se registre nos eventos SMTP antes que o evento OnEndOfData seja atingido, para reduzir a possibilidade de o host SMTP de recebimento armazenar o conteúdo da mensagem e ter que gerar uma NDR para o remetente da mensagem.
No entanto, para agentes antívirus, a consideração mais importante é ter certeza de que todas as mensagens foram verificadas. Os agentes devem verificar se cada uma das mensagens deve ser configurada no evento SMTP OnSubmittedMessage. Cada mensagem transmitida pelo pipeline de transporte encontra o evento SMTP OnSubmittedMessage, porque ele ocorre depois de todos os possíveis pontos de entrada de envio, como o envio SMTP de hosts remotos, o envio MAPI de computadores que estão executando a função de servidor Caixa de Correio, o Diretório de recebimento, usado por aplicativos personalizados, ou o Diretório de repetição, usado por aplicativos de email de terceiros.
Priorização de agentes de transporte
O Exchange 2007 permite especificar a prioridade dos agentes de transporte incluídos no Exchange e adicionados por aplicativos personalizados. Se você especificar a prioridade de um agente de transporte, poderá controlar os agentes que agirão primeiro em uma mensagem. Os agentes de transporte podem ter atribuída uma prioridade 1 ou superior. Os agentes de transporte com prioridade próxima a 1 são aplicados às mensagens primeiro. Contudo, a prioridade que você atribuiu a um agente de transporte é apenas um fator usado para determinar a ordem em que os agentes de transporte são aplicados às mensagens. O segundo fator usado para determinar a prioridade dos agentes de transporte é o local em que o evento SMTP, que possui um agente de transporte registrado, se encaixa na seqüência dos eventos SMTP.
Como mostra a Tabela 1 anteriormente neste tópico, os eventos SMTP possuem uma seqüência específica, usada para aplicá-los às mensagens transferidas pelo pipeline de transporte. Por exemplo, o evento SMTP OnConnectEvent sempre ocorre antes dos eventos SMTP OnHeloCommand ou OnEhloCommand. Devido ao registro dos agentes de transporte em eventos SMTP específicos, isso significa que, independentemente da prioridade atribuída a um agente de transporte no evento SMTP OnEhloCommand, os agentes de transporte registrados no evento SMTP OnConnectEvent sempre serão aplicados primeiro às mensagens.
Por exemplo, você também deve ter os agentes de transporte configurados da seguinte forma:
O agente de transporte AgentA com uma prioridade
1
registrado no evento SMTP OnEndofHeadersO agente de transporte AgentB com uma prioridade
4
registrado no evento SMTP OnMailCommand
Quando você exibir sua lista de agentes registrados, usando o cmdlet Get-TransportAgent, o agente de transporte AgentA estará listado com uma prioridade mais alta do que a do agente de transporte AgentB. Contudo, quando uma mensagem é transmitida pelo pipeline de transporte, o agente de transporte AgentB será aplicado à mensagem antes do agente de transporte AgentA, porque o evento SMTP OnMailCommand encontra a mensagem antes do evento SMTP OnEndOfHeaders.
A prioridade atribuída ao agente de transporte se torna relevante quando dois ou mais agentes de transporte são registrados no mesmo evento SMTP. Se o agente de transporte AgentA e o agente de transporte AgentB estiverem registrados no evento SMTP OnEndofHeaders, quando uma mensagem encontrar esse evento, o agente de transporte AgentA será aplicado à mensagem antes do agente de transporte AgentB. Se o agente de transporte AgentB estiver registrado nos eventos SMTP OnEndOfHeaders e OnMailCommand, ele será aplicado à mensagem duas vezes. O agente de transporte AgentB será aplicado primeiro, porque está registrado no evento SMTP OnMailCommand. Em seguida, quando a mensagem encontrar o evento SMTP OnEndOfHeaders no local em que ambos os agentes de transporte AgentA e AgentB estão registrados, o agente de transporte AgentA será aplicado, porque tem uma prioridade mais alta do que o agente de transporte AgentB. Por fim, o agente de transporte AgentB será aplicado pela segunda vez.
Agentes de transporte internos
O Exchange 2007 inclui vários agentes de transporte padrão que permitem a ele fornecer recursos, como regras de transporte e registro no diário. Por padrão, os agentes de transporte listados nas tabelas a seguir são instalados nos servidores de Transporte de Hub e de Transporte de Borda. As tabelas a seguir também fornecem tópicos que contêm mais informações sobre cada agente.
Tabela 2 Agentes de transporte do servidor de Transporte de Hub
Nome do Agente | Prioridade | Eventos SMTP | Descrição |
---|---|---|---|
Agente de Regras de Transporte |
1 |
OnRoutedMessage |
|
Agente Registro no diário |
2 |
OnSubmittedMessage, OnRoutedMessage |
|
Agente de Pré-licenciamento de RMS (Rights Management Services) do Active Directory Dica O agente de Pré-licenciamento de AD RMS está disponível apenas no Exchange 2007 SP1. Ele é desabilitado por padrão. |
3 |
OnRoutedMessage |
Tabela 3 Agentes de transporte do servidor de Transporte de Borda
Nome do Agente | Prioridade | Eventos SMTP | Tópico Relacionado |
---|---|---|---|
Agente de Filtragem de Conexão |
1 |
OnConnectEvent, OnMailCommand, OnRcptComand, OnEndOfHeaders |
|
Agente de Entrada de Reconfiguração de Endereço |
2 |
OnRcptCommand, OnEndOfHeaders |
|
Agente de Regra de Borda |
3 |
OnEndOfData |
|
Agente de Filtro de Conteúdo |
4 |
OnEndOfData |
|
Agente de ID de Remetente |
5 |
OnEndOfHeaders |
|
Agente de Filtro por Remetente |
6 |
OnMailCommand, OnEndOfHeaders |
|
Agente de Filtro de Destinatários |
7 |
OnRcptCommand |
|
Agente de Análise de Protocolo |
8 |
OnEndOfHeaders, OnEndOfData, OnReject, OnRsetCommand, OnDisconnectEvent |
|
Agente de Filtragem de Anexo |
9 |
OnEndOfData |
|
Agente de Saída de Reconfiguração de Endereço |
10 |
OnRcptCommand, OnEndOfHeaders |
Solução de problemas dos agentes de transporte
Com os agentes de transporte, o Exchange ajudará a controlar o fluxo de mensagens de email em sua organização. Isso permite combinar a infra-estrutura do Exchange às necessidades de sua organização, em vez de forçar sua organização a corresponder à infra-estrutura de email. Quando personalizado, a complexidade do ambiente aumenta. Para ajudá-lo a solucionar possíveis problemas e verificar se as alterações foram aplicadas às mensagens da forma prevista, o Exchange oferece os seguintes recursos:
cmdlet Get-TransportPipeline O cmdlet Get-TransportPipeline mostra todos os agentes de transporte habilitados, e os eventos SMTP em que estão registrados, que encontraram mensagens no pipeline de transporte entre o momento em que o serviço de Transporte do Microsoft foi iniciado e o momento em que o cmdlet foi executado. Para obter mais informações, consulte Como exibir Agentes de Transporte no pipeline de transporte.
Dica
As informações exibidas pelo cmdlet Get-TransportPipeline são geradas apenas depois que uma mensagem tiver sido enviada pelo pipeline de transporte. Além disso, os agentes de transporte que encontraram a mensagem são exibidos.
**Rastreamento de Pipeline ** O rastreamento de pipeline permite que você crie um instantâneo de uma mensagem inteira antes e depois de encontrar cada agente de transporte. O rastreamento de pipeline permite que você determine o agente de transporte que pode ter gerado resultados inesperados ou para verificar se o agente de transporte apresenta um comportamento esperado. Para obter mais informações, consulte Usando o rastreamento de pipeline para diagnosticar problemas do agente de Transporte.
Para obter mais informações
Para obter mais informações sobre agentes de transporte, consulte os tópicos a seguir: