Implementando Variable Envelope Return Path (VERP) usando o Exchange

10

Estamos investigando a implementação do Caminho de Retorno do Envelope Variável (VERP) para melhorar o processamento de rejeição de nosso aplicativo.

Nossa atual infra-estrutura de e-mail é o MS Exchange 2007, mas está em processo de atualização para 2010. Também estamos implementando o Postini para filtragem de spam.

O Exchange não suporta o subendereço (ver também este question on disable address ) - e VERP é um pouco de uma aplicação especializada de sub-endereçamento.

Existe alguma opção para implementar o VERP no Exchange sem colocar outra retransmissão SMTP do Exchange na frente do Exchange para pré-processar as mensagens recebidas? Especificamente, poderia ser criada uma regra de transporte que correspondesse ao destinatário de destino (inexistente), armazenasse esse endereço de destinatário em um cabeçalho especial adicionado à mensagem e redirecionasse a mensagem para uma caixa de correio pré-criada?

Observação: temos recursos de desenvolvedor disponíveis se o código personalizado puder ser usado de alguma forma.

    
por iammichael 07.05.2010 / 22:56

3 respostas

2

O câmbio é péssimo nisso. O software de correio do Linux é gratuito. Instale-o em uma caixa, configure um subdomínio para todos os e-mails específicos do seu aplicativo que você enviar. (Como myapp.mycompany.tld, então todos os seus e-mails vêm de [email protected])

Seria bastante fácil escrever (ou pedir a alguém para escrever) um aplicativo rápido e sujo que receberia e processaria as mensagens devolvidas e notificaria seu aplicativo usando algo como SOAP.

Se você é um ambiente somente para Windows, não adianta fugir para executar um servidor Linux único, mas não conheço uma maneira de fazer isso com o Exchange.

Outra opção pode ser incorporar uma string única de caracteres no cabeçalho, assunto ou corpo de cada mensagem. Use X-MyApp-Id: blah. Claro que isso pode atrapalhar mais filtros de spam ...

    
por 28.11.2010 / 00:04
1

Certamente, fora da caixa, não há suporte para o VERP no Exchange 2007/2010. Como você sabe. Eu não acredito que você será capaz de criar uma regra de transporte, mesmo com o PowerShell, para fazer o que quiser. Eu acredito que o mais próximo que você vai conseguir é construir seu próprio agente de transporte. Você pode encontrar o Exchange SDK em msdn.microsoft.com. Se seu objetivo é determinar com quem uma mensagem foi rejeitada, talvez seja melhor analisar os logs de protocolo. O log de protocolo deve ser ativado e tem logs de envio / recebimento separados. Boa sorte, Paul

    
por 26.11.2010 / 16:15
0

Fazemos isso analisando os registros de rastreamento de mensagens e tendo uma regra que exclui as mensagens de devolução antes de serem enviadas. Isso funciona se o seu aplicativo de envio puder criar um caminho de retorno VERP. Não é a parte SMTP da troca que não pode fazer VERP, é a parte da caixa de correio que não pode manipular os curingas para depositar as mensagens devolvidas em uma caixa de correio. Se você usar os registros, não precisará enviar a mensagem de rejeição que reduz o tráfego de e-mail. Os logs são arquivos csv, então eles são carregados de modo ordenado em um banco de dados e, em seguida, você analisa o campo de caminho de retorno para o seu ID de registro VERP e usa o código de razão para marcar como retorno difícil ou suave. O problema que temos é que isso funciona muito bem se seu aplicativo usa smtp para se conectar ao servidor exchangange. Por alguma razão, se você usar a troca de diretório de coleta, substitui o caminho de retorno do verp com o endereço de e você perde a capacidade de fazer isso. Ainda tentando descobrir isso.

    
por 12.01.2011 / 02:51