Sobre o sistema DNS
As informações armazenadas nos sistemas DNS globais determinam a rota que o email percorre do remetente ao destinatário. O DNS é um sistema hierárquico que gerencia o mapeamento entre elementos nomeados na internet e os sistemas subjacentes que oferecem suporte a esses nomes. Por exemplo, um registro de endereço (registro A) relaciona o FQDN (Fully Qualified Domain Name - Nome de Domínio Totalmente Qualificado) de um host ao seu endereço IP ou ao endereço que os roteadores podem usar para enviar um pacote para esse host. O contrário desse mapeamento é armazenado em um registro de ponteiro (registro de PTR). Um registro MX (registro de troca de emails) é um registro especial usado somente por sistemas de email. Um registro MX identifica um nome de domínio de email (a parte de um endereço de email que vem depois do @) para um sistema que fornece o serviço de email para esse domínio.
Todos os hosts que executam MTAs compatíveis com SMTP devem ter registros A e PTR válidos. Os MTAs compatíveis com SMTP poderão não funcionar corretamente se, por exemplo, um registro PTR não existir para esse host ou se o registro PTR desse host não for sincronizado com o registro A. Um registro MX relaciona o domínio de email a um registro A válido para um host que sabe como entregar emails para esse domínio. Ele também associa um valor de prioridade da entrega para esse host específico ao enviar emails para esse domínio.
Quando o sistema DNS é consultado pelos registros MX que correspondem a um determinado domínio de email, ele retorna uma lista de todos os registros MX correspondentes com os valores de endereço e suas prioridades. Um MTA compatível com SMTP que recebe mais de um registro correspondente primeiramente tenta fazer uma conexão com o servidor que tenha o valor de precedência mais baixo (ou a prioridade mais alta) para esse domínio de email. Se essa conexão falhar, ele tentará estabelecer uma conexão com o próximo servidor de prioridade mais alta desse domínio. Esse processo continuará até que uma conexão seja estabelecida ou até que todos os hosts da lista sejam esgotados. Quando todos os hosts na lista forem esgotados, a mensagem será armazenada por um tempo e outra tentativa de entregar a mensagem será feita. Uma forma básica de compartilhamento de carga pode ser implementada com vários registros MX listados com a mesma prioridade. As prioridades podem ter qualquer valor que seja representado por um número inteiro de 16 bits, mas, na maioria das vezes, os valores usados têm grandeza 5.