Retorna apenas emails válidos com MX válidos
Publicado por Romulo 16/09/2003
[ Hits: 6.015 ]
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); } } } }
Remover caixas postais do Cyrus IMAP
Validando lista de e-mail no MX
Apagar MAILER-DAEMON da fila de email
Nenhum comentário foi encontrado.
Atenção a quem posta conteúdo de dicas, scripts e tal (1)
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
Dongle Bluetooth 5.0 não funciona no Pop Os 22.04 (2)
Impressora Canon Ip 1800 (Drivers) 64 bit (2)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba