Comunicação com registros MX [fechado]

3

Tenho uma pequena pergunta sobre o tópico dos registros MX.

Digamos que temos vários servidores de e-mail nos registros DNS. Se alguém estiver enviando um e-mail, o servidor de e-mail de saída verificará o MX e contatará o primeiro servidor com o menor custo.

Digamos que seja um servidor de troca. Se este servidor não tiver o endereço de e-mail solicitado, o que acontece então? O servidor de envio de saída envia a mensagem para o segundo servidor de email no registro MX? Ou isso depende da mensagem de erro do primeiro servidor de email?

E como a troca lida com mensagens para "endereços desconhecidos"?

    
por Sunny 14.09.2013 / 01:05

2 respostas

3

Todos os servidores de correio listados no registro MX de um domínio são considerados totalmente capazes de entregar mensagens para qualquer usuário no domínio. Se um servidor responder com uma mensagem de "endereço desconhecido", o Exchange [ou qualquer outro servidor de correio] considerará essa mensagem não entregue e tratará de acordo com suas configurações.

O IIRC por padrão O Exchange gera uma devolução ao remetente, mas também pode ser configurado para descartar a mensagem.

Observação: a única vez que um servidor de envio de e-mails tentará entrar em contato com servidores alternativos nos registros MX de um domínio, caso o servidor escolhido esteja sem resposta

.

    
por 14.09.2013 / 01:22
1

O SMTP e o ESMTP (os protocolos subjacentes) que lidam com a entrega de mensagens têm RFCs extensos (o RFC822 original e a atualização mais moderna RFC2822 e um protocolo de rastreamento de padrões da Internet no RFC5322).

Como os servidores de email lidam com erros durante a entrega varia de servidor de email para servidor de email. Além da complicação, muitos deles são configuráveis e fáceis de alterar o comportamento padrão descrito nos RFCs.

A regra geral, dadas as advertências acima, é:

Escolha o registro MX de maior preferência, ou um aleatório, se existirem vários registros da mesma preferência (algumas vezes, o comportamento aleatório é, em vez disso, um algoritmo round-robin). Se o host escolhido for "inacessível" (sem rota para hospedar, conexão recusada ou similar), tente o próximo registro MX de mesma preferência ou menor. Como msw mencionou, estes são alguns que contra-intuitivo - a maior preferência é 0 e os registros de um número maior são considerados menos preferenciais.

Isso é repetido até que uma conexão seja estabelecida OU todos os hosts não respondam. Nesse caso, o email é enfileirado novamente para uma tentativa posterior de reenvio. A maioria dos servidores de email tentará isso por um determinado período de tempo (geralmente algo como 1 a 2 dias), antes de desistir e retornar o email em uma notificação de falha na entrega (NDR).

Se a conexão for bem-sucedida, as várias etapas do protocolo RFC determinam o comportamento geral de conectar MTAs. Do banner inicial enviado pelo servidor de correio remoto a cada um dos vários comandos emitidos para ele (de EHLO / HELO , até MAIL FROM , RCPT TO e DATA declarações), a regra geral é é:

erro transiente de 4xx, tente novamente mais tarde

Com este código, o email é re-enfileirado pelo servidor de correio local e a entrega tentada mais tarde (configurado nas configurações desse servidor de correio local)

5xx erro fatal, e-mail não entregue

Com esse código, o email é considerado não entregue e o servidor de email de envio local gerará um NDR (Non-delivery Report).

Em termos de sua pergunta "Se esse servidor não tiver o endereço de email solicitado", no RCPT TO stage, a maioria dos servidores responderia com um código 5xx e seu servidor de email local geraria um NDR.

Nem todos os servidores de e-mail são criados iguais

Existem algumas ressalvas para isso. MS Exchange por mais tempo, aceitaria TODOS os emails, independentemente de destinatários incorretos, domínios não rotuáveis e assim por diante, e geraria uma notificação de falha na entrega após o fato. Determinados ISPs devido a problemas com spam e fenômeno conhecidos como Dispersão de volta , nem sequer gera notificações de falha na entrega e seu email "falha silenciosamente" (você nunca recebe nenhuma notificação de falha na entrega).

Você também deve levar em consideração que o MTA (Mail Transport Agent ou servidor de email) nem sempre é o ponto final de entrega e MDAs (agentes de entrega de mensagens - como procmail) e MUAs (Mail User Agents) ou "clientes de e-mail", como o thunderbird / outlook, etc., podem ser configurados para "retornar" esses e-mails com suas próprias respostas semelhantes a NDR. Existem também mecanismos como .forward files que podem fazer com que o MTA redirecione o email para outro endereço após a aceitação do email. Certos servidores de email (eu sei que este é o caso do Exim), tentarão expandir o .forward no ponto do estágio RCPT TO da conversa SMTP e se isso se expandir para uma resposta de endereço não rotuável com a série 5xx dos códigos de erro mencionados acima.

Para uma explicação muito mais precisa e aprofundada, leia as RFCs mencionadas acima e a documentação do MTA que você está usando (lembrando que o modo como ele está configurado pode desempenhar um papel em seu comportamento).

    
por 14.09.2013 / 06:35

Tags