Retorna apenas emails válidos com MX válidos
Publicado por Romulo 16/09/2003
[ Hits: 6.213 ]
Recebe um arquivo contendo uma lista de e-mails separados por quebra de linha e retorna somente os endereços válidos. Além de verificar a sintaxe do e-mail também verifica se existe um servidor de e-mail válido para o domínio.
#!/usr/bin/perl # # # check_email.pl # # Recebe um arquivo contendo uma lista de e-mails separados por # # quebra de linha e um servidor de DNS e retorna somente endereços válidos com MX válidos. # # Date == begin == 16/09/03 # # Produced by --> # # # # ..... # # ,,$$$$$$$$$, Alberto Pereira # # ;$' '$$$$: Analista de suporte # # $: $$$$: # # $ o_)$$$: -"E ai linux, o que faremos hoje a noite??" # # ;$, _/\ &&:' -"O que fazemos todas as noites link, # # ' /( &&& tentaremos dominar o mundo" # # \_&&&&' # # &&&&. -DEBIAN, THE CHOICE OF NEW GNU LINUX GENERATION!!!! # # &&&&&&&: # # # # No Debian Woody necessários instalar os seguintes pacotes: # # apt-get install libemail-valid-perl libnet-dns-perl # use strict; use Net::DNS; use Mail::Address; my $file = shift or die "Use: $0 arquivo servidor\n"; my $nameserver = shift or die "Use: $0 arquivo servidor\n"; if (! -f $file) { print "Erro: $file não é um arquivo válido!\n"; } my $res = Net::DNS::Resolver->new; $res->nameservers($nameserver); open(READ, $file); while(<READ>) { chomp; my @addrs = Mail::Address->parse($_); foreach my $addr (@addrs) { my $no = 0; my $user = $addr->user; my $domain = $addr->host; if ($user =~ m/[a-zA-Z0-9_\.\-]/g) { if ($user =~ m/\//g) { $no = 1;} if ($domain =~ m/[a-zA-Z0-9\.\-]/g) { if ($domain =~ m/\//g) { $no = 1; } if ($domain =~ m/\.$/g) { $no = 1; } if ($domain =~ m/^\./g) { $no = 1; } if ($domain =~ m/\'/g) { $no = 1; } my @mx = mx($res, $domain); if (!@mx) { $no = 1;} print $addr->format,"\n" if (!$no); } } } }
Adicionar conta de e-mail - Postfix com domínios virtuais no MySQL
Validando lista de e-mail no MX
Remover caixas postais do Cyrus IMAP
Apagar spam na fila do postfix por palavra
Nenhum coment�rio foi encontrado.
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Iinstalar o Scanner Kodak i940 no Linux Mint 19/20? (4)
Pastas da raiz foram para a área de trabalho [RESOLVIDO] (11)
Será que eu deveria apreender C/C++ para desenvolver para Linux? (4)