Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Pedro Eideias

Validar endereço de email

Recommended Posts

eai galera!tenho uma grande base de emails, mas to com o seguinte problema, grande parte desses emails não existem, o endereço é valido, por exemplo "joao@uol.com.br", mas não exite, ai retorna "Mail delivery failed" quando envio qualquer mensagem para ele.gostaria de saber se tem como criar um código que verifica realmente se o email existe.valeu pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é possível saber se o e-mail existe. Somente após enviar e verificar se alguma mensagem automática retornou do servidor.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  vdepizzol disse:

Não é possível saber se o e-mail existe. Somente após enviar e verificar se alguma mensagem automática retornou do servidor.

intaum na verdade ou cancelo TODOS os email q retornarem como inexistentes um a um, ou fico enviando pra ninguem gastando meu processamento?naum existe nada msm??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nada. Atualmente não existe nenhum protocolo de comunicação entre servidores de e-mail. O servidor que manda simplesmente joga o e-mail para o destino. O máximo que ele pode fazer é verificar se o domínio existe. Sim, você ainda tem duas opções para escolher. Apaga os e-mails inexistentes um a um ou vai mandando e-mails pro além :).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Da para saber se o email existe sim:

 

  Citar
<?php

 

function validate_email($email){

 

$exp = "^[a-z\'0-9]+([._-][a-z\'0-9]+)*@([a-z0-9]+([._-][a-z0-9]+))+$";

 

if(eregi($exp,$email)){

 

if(checkdnsrr(array_pop(explode("@",$email)),"MX")){

return true;

}else{

return false;

}

 

}else{

 

return false;

 

}

}

 

?>

 

http://br.php.net/manual/pt_BR/function.checkdnsrr.php

 

a função checkdnsrr só funciona em servidores linux

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fabyo, o que você colocou aí em cima é um validador de e-mail, que confere se o e-mail pode ser existente [ER (.*)@(.*)\.(.*)]... o que o cara lá em cima quer é verificar se o e-mail realmente existe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você nao entendeu, só prestar atenção na função checkdnsrr

 

e presta atenção nos links que eu coloquei, essa função verifica se realmente o email existe sim

Compartilhar este post


Link para o post
Compartilhar em outros sites

fabyofiz uns teste aki e pelo q entendi ele verifica se o DNS do dominio do email existe....mas isso naum garante que o endereço existe.por exemplo, o dominio "gmail.com" existemas o email "ihsvdcihvsidcihv@gmail.com" não existe....e isso ele naum testato certo? pelos testes q fiz naum funciono.valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Concordo com ele. Esse script verfica somente se o dominio existe.O interessante seria se existisse uma forma de verificar se a conta de email existe no dominio.Alguém te alguma idéia?

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Tiago Daru

 

Bem vindo ao iMasters, continue contribuindo em tópicos mais recentes. Este teve sua última postagem há quase seis anos atrás.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em meus projetos uso um código em PHP simples antes de ele cadastrar no Banco de Dados, segue o exemplo:

 

if(empty($email)) {
$retorno = '<span class="no">Informe seu e-mail</span>';
}elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$retorno = '<span class="no">Informe um e-mail válido</span>';
} // Continue seu código

 

Este código é simples, porém ele não faz a verificação se e-mail existe, como exemplo ele válida este email por exemplo sd545hdfg848@gmail.com (Talvez nem exista, mas ele válida). Então para ter e-mails validados em seu Banco de Dados, faça um envio de um código de confirmações de e-mail para o e e-mail digitado se o usuário clicar no no link enviado para o suposto e-mail ele faz um update em um campo de status do e-mail e coloca como válido, algo bem simples e ajuda! :grin:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Apesar o do alerta feito anteriormente, apenas para salientar que validar um endereço de e-mail é diferente de verificar se ele existe.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  Em 23/01/2012 at 14:50, Tiago Daru disse:

Também gostaria de saber se existe esta possibilidade seria muito bom, tem alguns sites que fazem isso caso queiram conferir

 

http://verify-email.org/

 

ou

 

http://www.email-checker.com

 

Pelo visto é possível se alguém tiver um script com este estamos ai

Vdpizzol é certo. Relativamente a estes dois sites que eles têm uma limitação quanto ao número de endereços de e-mail para verificar. Eu encontrei um outro que permite verificar os endereços de e-mail em massa. É URL é http://www.FreeEmailVerifier.com. Além disso, é multilíngüe, incluindo, é claro, Portugues. Como o próprio nome diz, é totalmente grátis, como é patrocinado por anunciantes

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não há como verificar se email existe ou não.. o máximo que se pode saber é dar um ping no domínio..

É que o faz a função checkdnsrr()

 

Esses serviços que oferecem a solução também não tem nada a ver pois não há garantia alguma..

 

 

 

Uma solução é criar um trigger para checar o título dos emails recebidos.

Caso possua "Delivery Status Notification (Failure)", salve a informação de email inválido no banco de dados.

 

Nesse caso deve-se tomar cuidado pois um e-mail inexistente pode passar a existir futuramente. Exemplo:

Hoje, o email info@foo.bar não existe, mas pode ser que amanhã ou daqui a uns meses ou anos, o dono do domínio crie esse email.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz alguns testes das funções e elas so validam mesmo a existência do dominio, os sites que foram indicados como o http://verify-email.org funciona sim, viz varios testes e realmente ele fala se existe ou não o e-mail, o problema que para verificação em massa é salgado o valor, agora se não for muitos e-mails so ir na raça um por um =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.