Retorna apenas emails válidos com MX válidos
Publicado por Romulo 16/09/2003
[ Hits: 6.282 ]
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);
}
}
}
}
Apagar spam na fila do postfix por palavra
Adicionar conta de e-mail - Postfix com domínios virtuais no MySQL
Validando lista de e-mail no MX
Nenhum comentário foi encontrado.
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Programa fora de escala na tela do pc (1)
Fedora KDE plasma 42 X Módulo de segurança BB (Warsaw-2) (1)
O programa assinador digital (1)









