Retornar somente e-mails válidos

Publicado por Romulo 15/09/2003

[ Hits: 6.362 ]

Download valida_email.pl




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 pode verificar se existe um servidor de e-mail válido para o domínio.

  



Esconder código-fonte

#!/usr/bin/perl -w
# valida_email.pl
# Recebe um arquivo contendo uma lista de e-mails separados por
# quebra de linha e retorna somente os endereços válidos.
#
# Programado por: Fábio Berbert de Paula
# <fabio@vivaolinux.com.br>
# http://www.vivaolinux.com.br
#
# Rio de Janeiro, 15 de Setembro de 2003
#
# Para instalar o módulo Email::Valid no Debian digite:
# apt-get install libemail-valid-perl

use Email::Valid;

my $lista = shift or die "Use: $0 lista_de_email.txt\n";

if (! -f $lista) {
   print "Erro: $lista não é um arquivo válido\n";
   exit;
}

open(READ, $lista);
while (<READ>) {
   chomp;
   if (Email::Valid->address($_)) {
      print $_ . "\n";
   }
   
   # descomente as linhas abaixo e comente as acima se desejar
   # verificar se existe um host válido para o endereço de 
   # e-mail informado.
   # 
   # if (Email::Valid->address(-address => "$_", -mxcheck => 1)) {
   #   print $_ . "\n";
   # }
}
close(READ);

Scripts recomendados

Envia e-mail com anexo

Adicionar conta de e-mail - Postfix com domínios virtuais no MySQL

mimemail.pl

Notificador de Gmail no Conky.

newsletter.pl


  

Comentários
[1] Comentário enviado por link em 16/09/2003 - 11:45h

Fábio,

Esse script não esta funcionando corretamente.
Se o email tiver carcteres inválidos "/ ' |", terminar com "." ele informa que é válido.
Coloquei aquela opção de mxcheck e o mesmo morre sem explicação.
Criei um novo e estou disponilibilizando.

[2] Comentário enviado por r3voltz em 18/11/2005 - 03:06h

como uso esse script?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts