Artigo original publicado na sexta-feira, 29 de março de 2013

Sou engenheiro de suporte em CSS. Estava trabalhando com um cliente que reportou um erro de loop de e-mail para um domínio específico como contoso.com. Esse erro foi observado apenas em e-mails grandes. Sim, é realmente um mistério até você descobrir que isso é causado por uma restrição de tamanho no conector Enviar. Achei que isso fosse curioso o suficiente para compartilhar.

Entendendo a configuração e causa raiz do problema:

Inicialmente, pensei que talvez fosse o resultado da configuração do servidor de Borda para o uso de um servidor DNS externo (um servidor DNS que resolve hospedagens externas). Normalmente, quando o servidor Transporte de Borda é configurado para usar um DNS externo, ele resolve o nome de domínio para os endereços IP públicos (geralmente apontando para si próprio, para o firewall externo ou provedor de serviço) em vez de um servidor Transporte de Hub no site do Active Diectory, causando um loop de e-mail.

Ao reproduzir o problema, descobri que o servidor Transporte de Borda não foi configurado para usar um servidor DNS externo. O ambiente que configurei para reproduzir o problema parecia com o diagrama abaixo:

clip_image002

 

Veja o que aconteceu nesse cenário: quando o servidor Transporte de Borda recebe um e-mail de 20 MB de um remetente na Internet, ele o aceita. O servidor Transporte de Borda tem dois conectores que correspondem ao espaço do endereço - um para o espaço de endereço contoso.com para o site do Active Directory e outro para o espaço de endereço *. Ao tomar a decisão de encaminhamento com base em todos os conectores disponíveis, aquele da Borda para o Hub não é considerado, devido à restrição de tamanho (há um limite de tamanho de 10 MB). A melhor correspondência é o conector * da Borda para a Internet (Revise o algoritmo de seleção de conector documentado em Noções Básicas Sobre Roteamento de Mensagens) que tem um limite de tamanho de mensagem de 30 MB.

Resultado final: a mensagem é encaminhada de volta para a Internet causando o loop da mensagem entre a Internet e o servidor de Borda.

Com base no conector Enviar para a Internet configurado para usar DNS ou um Host inteligente para entregar o e-mail de saída, receberemos os seguintes NDRs:

Se estiver usando DNS:

#554 5.4.4 SMTPSEND.DNS.MxLoopback; DNS records for this domain are configured in a loop ##

Se estiver usando um Host inteligente:

5.4.6 smtp;554 5.4.6 Hop count exceeded - possible mail loop> #SMTP#

A solução

Esse comportamento ocorre por padrão e pode ser facilmente corrigido por meio da modificação do limite de tamanho da mensagem no conector. Com base em seu requisito, é possível escolher uma das seguintes opções:

  • Defina o parâmetro MaxMessageSize no conector Receber (que recebe e-mail de entrada da Internet) como 10MB, de modo que as mensagens da Interent fiquem restritas a 10 MB.
  • Defina o parâmetro MaxMessageSize no conector Enviar da Borda para o HUB como 30MB, o que permitirá que você receba mensagens de 30 MB de remetentes externos.

Mistério solucionado! Agradeço a Arindam Thokder e Scott Landry, que me ajudaram a preparar este material para o blog!

Suresh Kumar (XCON)

Esta é uma postagem de blog localizada. Encontre o artigo original em Mysterious mail loop on Edge Transport server: Check your size limits!