PHP
Você está aqui: Home » PHP » Validando um e-mail checando se o domínio existe ou não...
Validando um e-mail checando se o domínio existe ou não...

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
Outros artigos postados por este autor
- Como fazer e modificar calendários
- Como deixar uma Pessoa Careca
- Uma nova era: Viva a difusão do AJAX!
- HTML 5 e SEO: Quais são as novidades?
- Como arredondar os cantos de uma foto
- Curso Adobe Flash - Trabalhando com Cores
Artigos relacionados sobre PHP
- Problemas com UTF-8 with BOM?
- Detectando requisições Ajax com PHP
- Aprendendo URLs amigáveis com regras complexas
- Validando um e-mail checando se o domínio existe ou não...
- instalação da classe FastTemplate
- Portal PHP NUKE
Parceiros
BR-Linux.org
Criar WEB
Regularização de Imoveis SP
Montagens de Sites
Templates de Sites
Desenvolvedor de Sites
Elaboração de Sites
Produção de Sites
Programador de Sites
Criadores de Sites
Artigos mais acessados
Desenho de Letras - Construindo fontes TTF
Criando um sistema de login
Enviando email em formato HTML em PHP
Menu Circular em 3D
Cargos e salários na área de informática
Como fazer e modificar calendários
Action Script 2.0 ( Primeira Parte )
10 dicas de Webdesign para salvar seu site
Fireworks VS Photoshop
Serviços
Desenvolvimento de Sites e Sistemas WEB
Otimização de Sites (SEO)
Loja Virtual com Sistema Pagseguro
Sistema de Compra Coletiva
Catálogo de Produtos
Parcerias e Soluções de Publicidade
Portifólio Grupo SOS Designers
Fale Conosco







