Ir para conteúdo

POWERED BY:

Arquivado

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

Jordan Pinheiro_147113

verificar email direto no servidor

Recommended Posts

Olá, eu preciso criar uma validação de email diferente.

 

Preciso que o email passe por 3 etapas antes de levar um ok

 

a validação do formato usando filter_var

 

a validação de se o email existe no servidor apontado... eu vi isso no cake... ele verifica se email existe... no servidor... n sei se via smtp ou com ping... sei q ele verifica.. e é la que quero chegar... quero criar uma validação desse tipo para usar em meus projetos... dei uma buscada achei coisa bem genérica

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso é fácil colega, basta você tentar enviar um e-mail ao endereço informado e recuperar o resultado, se enviou com sucesso existe, caso contrário, não. Pode ser feito com SMTP, acredito que também com o mail do php!

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu consegui fazendo assim..

 

mas ele valida só se o host existe... preciso validar se o email existe tbm

 

 

 

<?php
function validate_email($email)
{


if(!preg_match ("/^[\w\.-]{1,}\@([\da-zA-Z-]{1,}\.){1,}[\da-zA-Z-]+$/", $email))
return false;


list($prefix, $domain) = explode("@",$email);


        if(function_exists("getmxrr") && getmxrr($domain, $mxhosts))
        {
        return true;
        }
        elseif (@fsockopen($domain, 25, $errno, $errstr, 5))
        {
        return true;
        }
        else
        {
        return false;
        }


}


$tudo = validate_email('jordandddsr34r34r34@hotmail.com');


var_dump($tudo);
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você realmente acha que vai conseguir perguntar para um servidor se o email fulano@dominio.com.br existe? Já imaginou se isso funcionasse, como seria fácil criar e manter listas de e-mails válidos para spam? Na realidade isso até existe, mas por padrão não funciona (desativado) exatamente por isto. O mais próximo de validar um e-mail que você vai conseguir é usando a idéia anterior, de enviar um e-mail e validar se ele retornar algum erro/bounce, mesmo assim, o servidor de destino pode acabar por bloquear o seu ip se muitos bouncers forem recebidos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

existe empresas que fornecem esse serviço... no cakephp essa função é nativa do "validade email"

 

 

bom se você realmente acha que sabe tudo.... tenha um pouco senso!

 

quando eu conseguir eu te conto.



alguns

 

http://tools.email-checker.com/

 

 

ou

 

http://verify-email.org/



e outra http://www.validateemailaddress.org/ e mais outra

 

http://datavalidation.com/

Compartilhar este post


Link para o post
Compartilhar em outros sites

existe empresas que fornecem esse serviço... no cakephp essa função é nativa do "validade email"

 

 

bom se você realmente acha que sabe tudo.... tenha um pouco senso!

 

quando eu conseguir eu te conto.

 

alguns

 

http://tools.email-checker.com/

 

 

ou

 

http://verify-email.org/

 

e outra http://www.validateemailaddress.org/ e mais outra

 

http://datavalidation.com/

 

Eu não acho que eu sei tudo, eu tenho certeza que eu não sei... mas sei bem como funciona um servidor de e-mails, dá um estudada no assunto e você vai compreender o que eu falei =).

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom e se eu falar que conseguir da forma acima?

 

é só testar ai... http://nobre.in/testEmail.php

 

 

eu agora estou otimizando apenas o tempo de execução....

 

Eu acreditaria! Até lhe dou os parabéns, 1 pote de nutella virtual e dois tapinhas na costa =)

 

Agora seria interessante você apurar a leitura, só frisando uma frase que eu escrevi lá em cima:

 

Na realidade isso até existe, mas por padrão não funciona (desativado) exatamente por isto

 

Já pensou que você pode estar apenas testando em servidores que aceitam essa validação?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sou dono de um servidor de hospedagem e sei muito bem como funciona o tal. E é exatamente como eu disse no primeiro post, basta enviar um e-mail e recuperar o resultado no próprio PHP. Irá resultar em uma mensagem de erro se não existir, é aí que você descobre que não existe. (claro). O servidor não vai bloquear e-mails enviados para destino incorreto, não tem sentido. E no mais, não terá tantos e-mails incorretos. O que acontece é que o servidor vai receber um e-mail caso ele existir, e caso não existir o próprio servidor que enviará o e-mail dará a mensagem de erro que a mensagem não foi entregue.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Irá resultar em uma mensagem de erro se não existir, é aí que você descobre que não existe. (claro).

Isso funciona bem a menos que esteja configurado um e-mail "cata tudo", neste caso nunca retornará um erro, pois ele vai ir para um caixa padrão.

 

O servidor não vai bloquear e-mails enviados para destino incorreto, não tem sentido. E no mais, não terá tantos e-mails incorretos.

Engraçado, o software "normal" como o SpamAssassin permite este tipo de configuração... só que ele não bloqueia um e-mail, ele bloqueia o ip de origem de uma vez.

 

 

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.