Verificação de endereços eletrônicos com Sendmail
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 06 de Julho de 1999
Há pouco tempo atrás eu recebi diversas mensagens de assinantes da lista Dicas-L reclamando que não estavam recebendo as mensagens.
Eu examinei o arquivo com a lista de assinantes e detectei vários endereços mal formados ou errados.
Não sei exatamente, mas suponho que estes endereços estavam impedindo o processamento correto das mensagens para todos os assinantes.
Verificar manualmente seria muito cansativo e propenso a erros já que a Dicas-L tem hoje por volta de 4500 assinantes.
Então nada melhor do que deixar o próprio sendmail fazer esta verificação. Eu escrevi então o seguinte shell script:
#!/bin/ksh for user in ""cat list"" do /usr/lib/sendmail -bv $user >> check done
O sendmail, quando invocado no modo "-bv" faz apenas uma verificação do endereço. Nenhuma mensagem é entregue.
Para cada endereço válido, aparece algo do tipo:
souza@acme.com... deliverable: mailer esmtp, host acme.com., user souza@acme.com
Para cada endereço válido foi determinado o mailer a ser utilizado, o nome do computador onde a mensagem será entregue e para qual usuário.
Para endereços com erro:
opera@obelix.unicamp.br... User unknown
Então, de posse do arquivo check, eu executei o comando:
cat check | grep -v deliverable > erros
No arquivo erros são gravados todos os endereços que apresentaram algum erro. De posse desta lista, eu removi os endereços incorretos da listagem.
Vamos ver agora se o problema foi resolvido :)