Validando lista de e-mail no MX
Publicado por Fábio Berbert de Paula 30/10/2003
[ Hits: 9.259 ]
Homepage: https://www.instagram.com/alexabolada/
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"; } }
Apagar MAILER-DAEMON da fila de email
Apagar spam na fila do postfix por palavra
Agora temos uma assistente virtual no fórum!!! (247)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
Impressora Canon Ip 1800 (Drivers) 64 bit (3)
iso de sistema 32 bit em atividade (15)
Como transfiro os pokemons do fire red para o emulador mupen64? (1)