
29/01/2003 - Enviando EMAIL com ASP, COLDFUSION E PHP
22/03/2006 - Extensões para o navegador Firefox
15/05/2004 - Indexação de Sites: robots.txt
09/01/2003 - Conceitos de Programação e ActionScript
09/01/2003 - Excluindo registros
09/02/2003 - Artigo Arrays II
11/04/2006 - Curriculo 10
09/01/2003 - Administre seus bancos de dados remotamente
22/09/2006 - Trabalhando com o WITH
09/01/2003 - Letras transparentes
06/05/2005 - Guia visual de controles de formulário HTML
26/04/2006 - Interagindo com o teclado dinâmicamente
16/03/2003 - Pega ladrão! Bill Gates quer seu tráfego.
05/07/2007 - Gerando PDF com PHP
Leituras: 19254 -
Olá pessoal, hoje vou mostrar como validar um email checando a existencia do domínio.
Primeiro abra um novo arquivo, faça um formulário com qualquer nome, na ação do formulário coloque o nome da página de validação que vamos fazer em seguida "valida_url.php"... Adicione um input e um botão de submit, o input será do tipo TEXT e coloque seu nome como email.
Ex:<form name="form1" method="post" action="valida_url.php">
<input name="email" type="text" id="email">
<input type="submit" name="Submit" value="Conferir">
</form>Pronto, já temos o formulário.
Agora vamos para a página de validação, a qual checará a existencia do domínio. Abra um novo arquivo e salve-o como valida_url.php, nessa página vamos inserir o seguinte script:<?php
# RECEBE O EMAIL ENVIADO PELO FORMULÁRIO VIA POST
$email = $_POST['email'];# VERIFICA SE A VARIÁVEL NÃO ESTÁ VAZIA
if (!empty($email))
{# GUARDA O "WWW" PARA SER CONCATENADO COM O DOMÍNIO DO E-MAIL PARA SER CHECADO
$url = "www.";# SELECIONA O QUE CONTIVER DEPOIS DO @ OU SEJA, O DOMINIO.COM.BR
if(($arr = split("@",$email)))
{# CONCATENA O "WWW" COM O DOMINIO.COM.BR
$servidor = $url.$arr[1];# FUNÇÃO PARA CHECAR A EXISTENCIA DO DOMÍNIO
$fp = fsockopen($servidor,80);# CHECA O DOMINIO E MOSTRA A MENSAGEM POSITIVA CASO EXISTA E NEGATIVA CASO NÃO EXISTA
if($fp)
{
echo("O domínio <strong>$servidor</strong> do e-mail <strong>$email</strong> é válido");
fclose($fp);
}
else
{
echo("O domínio <strong>$servidor</strong> do e-mail <strong>$email</strong> é inválido");
}# EXIBE MENSAGEM DE ERRO CASO O EMAIL NÃO CONTENHA O @
}
else
{
echo("Endereço de e-mail inválido!");
}# EXIBE A MENSAGEM DE ERRO CASO A VARIÁVEL $email SEJA VAZIA
}
else
{
echo "Você precisa digitar um email!";
}
?>Explicando o Script acima:
Aqui recebemos a variável $email que está sendo enviada através do formulário:
# RECEBE O EMAIL ENVIADO PELO FORMULÁRIO VIA POST
$email = $_POST['email'];Agora vamos verificar se a variável tem ou não algum conteúdo ou seja, veremos se ela está vazia, caso esteja o script irá pular lá para o final e mostrará a mensagem de erro que exige o preenchimento do campo email.
# VERIFICA SE A VARIÁVEL NÃO ESTÁ VAZIA
if (!empty($email))
{Na variável $url iremos guardar o www, que será concatenado ao domínio do email logo após o tratamento do mesmo:
# GUARDA O "WWW" PARA SER CONCATENADO COM O DOMÍNIO DO E-MAIL PARA SER CHECADO
$url = "www.";Iniciaremos agora o tratamento do email, o qual iremos criar um array para separar o que contiver antes e após o @.
# SELECIONA O QUE CONTIVER DEPOIS DO @ OU SEJA, O DOMINIO.COM.BR
if(($arr = split("@",$email)))
{Agora, na variável $servidor, vamos usar somente o que continha após o @, ou seja, o domínio.com.br e vamos concatenar á variável $url para formar o domíno para inicar a checagem:
# CONCATENA O "WWW" COM O DOMINIO.COM.BR
$servidor = $url.$arr[1];Agora usando a função FSOCKOPEN vamos enviar um chamado ao domínio e verificar a sua existencia:
# FUNÇÃO PARA CHECAR A EXISTENCIA DO DOMÍNIO
$fp = fsockopen($servidor,80);Com a condição abaixo verificamos se o servidor responde ou não e exibimos a mensagem conforme a resposta do servidor:
# CHECA O DOMINIO E MOSTRA A MENSAGEM POSITIVA CASO EXISTA E NEGATIVA CASO NÃO EXISTA
if($fp)
{
echo("O domínio <strong>$servidor</strong> do e-mail <strong>$email</strong> é válido");
fclose($fp);
}
else
{
echo("O domínio <strong>$servidor</strong> do e-mail <strong>$email</strong> é inválido");
}
# EXIBE MENSAGEM DE ERRO CASO O EMAIL NÃO CONTENHA O @
}
else
{
echo("Endereço de e-mail inválido!");
}# EXIBE A MENSAGEM DE ERRO CASO A VARIÁVEL $email SEJA VAZIA
}
else
{
echo "Você precisa digitar um email!";
}
Bem, por hoje é só.
Espero que tenha sido útil para você, não esqueça de comentar.
Até a próxima :-)
Autor: Wescley Vieira da Costa
E-mail: wescley@wescley.com.br
Site: www.wescley.com.br