De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Interação Sendmail x DNS (parte 2)
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 18 de Junho de 1998
Do visto na mensagem anterior, todas as mensagens para determinado
domínio possuem uma ordem de precedência quanto ao computador que irá
recebe-las.
O fato de que eu tenha três servidores que possam receber mensagens
endereçadas a um domínio como "unicamp.br" não implica no fato de que
os usuários tenham contas nas três máquinas.
Quando alguém manda uma mensagem para <queiroz (a) unicamp br>, o programa
sendmail que irá fazer a entrega da mensagem primeiramente faz uma
consulta ao DNS pedindo os registros MX associados ao domínio
"unicamp.br". De posse das respostas, ele tentará entrar em contato
com o servidor especificado no registro MX de mais alta prioridade.
Este servidor, o de prioridade mais alta, normalmente é o servidor
onde as pessoas tem suas contas. Ou seja, se este servidor estiver
no ar e funcionando perfeitamente, o programa sendmail deste servidor
irá aceitar a conexão, receber a mensagem, e gravá-la na mailbox do
usuário queiroz.
Caso ele não esteja funcionando, o programa sendmail tentará então entrar
em contato com o servidor especificado no registro MX seguinte.
O usuário queiroz não possui conta neste segundo servidor. O que ocorre
então? A mensagem é recebida e ao invés de ser gravada na mailbox
do usuário (que não existe neste equipamento), é mantida na área
de spool de mensagens. Esta mensagem ficará então na fila e de tempos
em tempos o sendmail tentará conectar com a máquina destino, para enviar
a mensagem.
É claro que, caso a máquina cujo registro MX tenha a prioridade mais
alta demore mais que cinco dias para voltar a funcionar, existe o risco
das mensagens retornarem a quem as enviou dizendo que o destino está
inacessível.
Alguns pontos importantes a serem lembrados. Os servidores MX de determinado
domínio devem residir em redes diferentes, o mais afastadas possível.
Caso residam em redes diferentes mas compartilhem a mesma linha de comunicação
para acesso à Internet não adianta muita coisa. Se a linha cair as duas
ou mais máquinas ficam inacessíveis e a mensagem não será entregue.
Se possível, coloque os servidores
MX de seu domínio em redes diferentes, como por exemplo, uma delas
no tronco RNP da Internet Brasil e outra no tronco Embratel.
Desta forma você garante que mensagens enviadas para o seu domínio sempre
cheguem.
E se a sua máquina demorar muito para ser consertada? Contacte o administrador
do seu servidor MX secundário e peça a ele para ir salvando as mensagens
destinadas ao seu domínio em uma área alternativa. Desta forma não se
perdem mensagens e você economiza tempo de processamento do servidor
secundário visto que ele não ficará tentando entregar, a intervalos
normalmente definidos em uma hora, mensagens que não podem ser entregues.
Nunca se esqueça de avisar o administrador do servidor MX secundário quando
houverem problemas com o servidor primário. Especialmente se o seu domínio
recebe muitas mensagens. Se o servidor secundário for uma máquina com
poucos recursos de armazenamento, problemas sérios poderão ocorrer.
Se o filesystem ficar cheio mensagens para o domínio que o servidor
secundário atende também serão devolvidas. E como estas coisas de
um ser servidor secundário de outro geralmente funcionam no favor, não
é bom complicar a vida de quem está te ajudando.
Uma vez que a sua máquina voltar a funcionar, o administrador do
servidor MX secundário poderá invocar o sendmail para processar especificamente
a fila de mensagens para o seu domínio.
Suponhamos que isto tenha sido feito movendo-se as mensagens para o
diretório /var/spool/unicamp.back. Para invocar o sendmail fazendo
com que ele utilize este diretório basta invocá-lo com as seguintes
opções abaixo:
# /usr/sbin/sendmail -OQueueDirectory=/var/spool/unicamp.back -q -v
Uma consideração final, todas as precauções que sugeri para os servidores
MX secundários se aplicam também aos servidores DNS secundários.
Para ficar garantido, coloque o seu servidor primário no Brasil e um secundário
na Austrália. Só para garantir :)