Validando lista de e-mail no MX
Publicado por Fábio Berbert de Paula 30/10/2003
[ Hits: 9.460 ]
Homepage: https://fabio.automatizando.dev
Este script recebe como argumento um arquivo texto contendo uma lista de e-mails, um por linha e retorna a lista de somente os e-mails válidos. Ele verifica se a sintaxe do e-mail está correta e se o usuário existe no servidor de e-mail do domínio. Forma de uso:
./valida_email.pl arquivo_lista > nova_lista.txt
#!/usr/bin/perl # valida_email.pl # Este script recebe como argumento um arquivo texto contendo # uma lista de e-mails, um por linha e retorna a lista de # somente os e-mails válidos. Ele verifica se a sintaxe do # e-mail está correta e se o usuário existe no servidor de # e-mail do domínio. # # Por: Fábio Berbert de Paula <fabio@vivaolinux.com.br> # Rio de Janeiro, 30 de Outubro de 2003. use strict; use Mail::Address; use MIME::Entity; use Tie::DNS; my $lista = shift; if (! -f $lista) { print "Use: $0 <arquivo_lista>\n"; exit; } my %dns = (); tie(%dns, 'Tie::DNS', { 'type' => 'MX' } ); my $res = Net::DNS::Resolver->new; # converter a lista de e-mail para um hash e remover os # e-mails duplicados my %lista_email = (); open(READ, $lista); while (<READ>) { chomp; if (!defined($lista_email{$_})) { $lista_email{$_} = 1; } } close(READ); foreach my $email (keys %lista_email) { my @addrs = Mail::Address->parse($email); foreach my $addr (@addrs) { my $user = $addr->user; my $domain = $addr->host; if(!$user) { next;} if(!$domain) { next;} if ($user =~ m/\^/) { next;} if ($user =~ m/\@/) { next;} if ($domain =~ m/\@/) { next;} if ($domain =~ m/\.$/) { next;} if ($domain =~ m/^\./) { next;} if ($domain =~ m/_/) { next;} my $mx = $dns{$domain}; if (!$mx) { next; }; print $addr->format,"\n"; } }
Adicionar conta de e-mail - Postfix com domínios virtuais no MySQL
Apagar MAILER-DAEMON da fila de email
Pra quem contribui com artigos e dicas (2)
Arch Linux - Guia para Iniciantes (5)
tux-gpt - Assistente de IA para o Terminal
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
O Que Fazer Após Instalar Ubuntu 25.04
O Que Fazer Após Instalar Fedora 42
Debian 12 -- Errata - Correções de segurança
Instalando o Pi-Hole versão v5.18.4 depois do lançamento da versão v6.0
Alguém poderia me ajudar a escolher peças pra montar um desktop? (20)
Pra quem contribui com artigos e dicas (2)
Copiar Layout do Teclado para aplicar em outra Distribuição (2)