Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Validar se o e-mail é válido

26-08-2007 10:26

Abaixo segue um script para validar um e-mail, essa validação tem como base o domínio do e-mail, o que vem após o @.
<?php $email = "email@dominio.com"; $dominio = "www."; $complemento = split("@", $email); $endereco = $dominio.$complemento[1]; $fp = @fsockopen($endereco,80); if($fp) { echo "O endereço de e-mail está aparentemente OK"; fclose($fp); } else { echo "O endereço de e-mail está aparentemente inválido"; } ?>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 25 postagens
Mais de 25 postagens
Mensagens: 45

Validar se o e-mail é válido

01-03-2010 15:28

Boa tarde,
sou novo no forum e tbm sou iniciante em php.
Fiz um formulário de envio de cadastro por e-mail, mas eu gostaria de saber em qual lugar do código eu tenho q colocara a função que vc colocou no fórum, tenho em vista que eu já tenho o formulário pronto.

abraço
0
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Validar se o e-mail é válido

01-03-2010 16:43

Se o email vai ser coloca do em um formulário, você coloca esse script logo na validação do form, sendo que quando o email não for válido, você tem que colocar um exit, para que o usuário não prossiga o cadastro.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 25 postagens
Mais de 25 postagens
Mensagens: 45

Validar se o e-mail é válido

02-03-2010 11:32

Amigo, eu tenho um formulário pronto em html que linka um arquivo php o form.html x formail.php
a idéia é só fazer a verificação do domínio após o @ do e-mail cadastrado, se for verdadeiro ele pode enviar se for inválido, ele não envia.

segue o código:

require "config.ini"; ini_set ("SMTP","smtp.eb.mil.br"); $empresa=$_POST["empresa"]; $nome=$_POST["nome"]; $cargo=$_POST["cargo"]; $dept=$_POST["dept"]; $telefone=$_POST["telefone"]; $email=$_POST["email"]; $news=$_POST["news"]; $texto=$_POST["texto"]; // Verifica se o campo NOME está preenchido if (empty($nome)){ // HTML que aparecerá o ERRO echo "<html><head><title>Ocorreu Um ERRO !!!</title></head>"; echo "<body background=\"../imagens/lado.gif\">"; echo "<br><br><br>"; echo "<FONT FACE=\"Arial, Helvetica, sans-serif\" color=\"#FFFFFF\" SIZE=\"2\"> <strong>É necessario o preenchimento do Nome</strong></font>"; echo "<FONT FACE=\"Arial, Helvetica, sans-serif\" color=\"#FFFFFF\" SIZE=\"2\"> <br><br><a href=\"javascript:history.back(1)\"> <IMG SRC=\"../imagens/voltapt.jpg\" WIDTH=\"80\" HEIGHT=\"30\" BORDER=\".\"></a></font>"; echo "</body></html>"; } // Verifica se o campo TELEFONE está preenchido if (empty($telefone)){ // HTML que aparecerá o ERRO echo "<html><head><title>Ocorreu Um ERRO !!!</title></head>"; echo "<body background=\"../imagens/lado.gif\">"; echo "<br><br><br>"; echo "<FONT FACE=\"Arial, Helvetica, sans-serif\" color=\"#FFFFFF\" SIZE=\"2\"> <strong>É necessario o preenchimento do Telefone</strong></font>"; echo "<FONT FACE=\"Arial, Helvetica, sans-serif\" color=\"#FFFFFF\" SIZE=\"2\"> <br><br><a href=\"javascript:history.back(1)\"> <IMG SRC=\"../imagens/voltapt.jpg\" WIDTH=\"80\" HEIGHT=\"30\" BORDER=\".\"></a></font>"; echo "</body></html>"; } // Verifica o campo E-MAIL está preenchido elseif (empty($email)){ // HTML que aparecerá o ERRO echo "<html><head><title>Ocorreu Um ERRO !!!</title></head>"; echo "<body background=\"../imagens/lado.gif\">"; echo "<br><br><br>"; echo "<FONT FACE=\"Arial, Helvetica, sans-serif\" color=\"#FFFFFF\" SIZE=\"2\"> <strong>O e-mail não foi digitado</strong></font>"; echo "<FONT FACE=\"Arial, Helvetica, sans-serif\" color=\"#FFFFFF\" SIZE=\"2\"> <br><br><a href=\"javascript:history.back(1)\"> <IMG SRC=\"../imagens/voltapt.jpg\" WIDTH=\"80\" HEIGHT=\"30\" BORDER=\".\"></a></font>"; echo "</body></html>"; } // Verifica se o E-MAIL contém @ elseif (!(strpos($email,"@")) OR strpos($email,"@") !=strrpos($email,"@")) { // HTML que aparecerá o ERRO echo "<html><head><title>Ocorreu Um ERRO !!!</title></head>"; echo "<body background=\"../imagens/lado.gif\">"; echo "<br><br><br>"; echo "<FONT FACE=\"Arial, Helvetica, sans-serif\" color=\"#FFFFFF\" SIZE=\"2\"> <strong>O e-mail não é válido</strong></font>"; echo "<FONT FACE=\"Arial, Helvetica, sans-serif\" color=\"#FFFFFF\" SIZE=\"2\"> <br><br><a href=\"javascript:history.back(1)\"> <IMG SRC=\"../imagens/voltapt.jpg\" WIDTH=\"80\" HEIGHT=\"30\" BORDER=\".\"></a></font>"; echo "</body></html>"; } // Verifica se o campo TEXTO está preenchido elseif (empty($texto)){ // HTML que aparecerá o ERRO echo "<html><head><title>Ocorreu Um ERRO !!!</title></head>"; echo "<body background=\"../imagens/lado.gif\">"; echo "<br><br><br>"; echo "<FONT FACE=\"Arial, Helvetica, sans-serif\" color=\"#FFFFFF\" SIZE=\"2\"> <strong>Você não digitou uma mensagem</strong></font>"; echo "<FONT FACE=\"Arial, Helvetica, sans-serif\" color=\"#FFFFFF\" SIZE=\"2\"> <br><br><a href=\"javascript:history.back(1)\"> <IMG SRC=\"../imagens/voltapt.jpg\" WIDTH=\"80\" HEIGHT=\"30\" BORDER=\".\"></a></font>"; echo "</body></html>"; } else{ // Confirma o Envio Do E-mail if ($certo== "1") { // Função de envio Do E-mail //mail ("seuendereço@seuservidor.com.br ","nome","string message", "string additional_headers"); mail ("$emaildest","Cadastro no site$assunto\n", "Empresa:$empresa\n Nome:$nome\n Cargo:$cargo\n Depto:$dept\n Telefone:$telefone\n Email:$email\n News:$news\n Mensagem:$texto\n\n ...::: Exatronic Ind. e Com. Ltda :::...", "From:$empresa<$email>"); } // HTML do redirecionameto e se não redirecionar aparece um link echo "<html><head>"; echo "<meta http-equiv=\"refresh\" content=\"0;url=$redirecionar\">"; echo "<title>Redirecionado ...</title>"; echo "</head><body bgcolor=\"#ffffff\">"; //echo "<a href=\"$redirecionar\" target=\"_top\">Volta Para O Site</a>"; echo "</body></html>"; } ?>

se puder me ajudar eu agradeço!

abraço
0
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Validar se o e-mail é válido

02-03-2010 12:58

Veja nesse if

if($fp) { echo "O endereço de e-mail está aparentemente OK"; fclose($fp); } else { echo "O endereço de e-mail está aparentemente inválido"; }

Se for para enviar se for válido, logo após do
echo "O ende....
vem
mail("...

Basicamente é só isso, adicionar a função mail para envio logo após a mensagem OK.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 25 postagens
Mais de 25 postagens
Mensagens: 45

Validar se o e-mail é válido

02-03-2010 14:29

RESOLVIDO!!
Obrigado pela ajuda, foi super util.
e para quem quiser o código segue:

<?php require "config.ini"; ini_set ("SMTP","smtp.eb.mil.br"); $empresa=$_POST["empresa"]; $nome=$_POST["nome"]; $cargo=$_POST["cargo"]; $dept=$_POST["dept"]; $telefone=$_POST["telefone"]; $email=$_POST["email"]; $news=$_POST["news"]; $texto=$_POST["texto"]; // Verifica se o campo NOME está preenchido if (empty($nome)){ // HTML que aparecerá o ERRO echo "<html><head><title>Ocorreu Um ERRO !!!</title></head>"; echo "<body background=\"../imagens/lado.gif\">"; echo "<br><br><br>"; echo "<FONT FACE=\"Arial, Helvetica, sans-serif\" color=\"#FFFFFF\" SIZE=\"2\"> <strong>É necessario o preenchimento do Nome</strong></font>"; echo "<FONT FACE=\"Arial, Helvetica, sans-serif\" color=\"#FFFFFF\" SIZE=\"2\"> <br><br><a href=\"javascript:history.back(1)\"> <IMG SRC=\"../imagens/voltapt.jpg\" WIDTH=\"80\" HEIGHT=\"30\" BORDER=\".\"></a></font>"; echo "</body></html>"; } // Verifica se o campo TELEFONE está preenchido if (empty($telefone)){ // HTML que aparecerá o ERRO echo "<html><head><title>Ocorreu Um ERRO !!!</title></head>"; echo "<body background=\"../imagens/lado.gif\">"; echo "<br><br><br>"; echo "<FONT FACE=\"Arial, Helvetica, sans-serif\" color=\"#FFFFFF\" SIZE=\"2\"> <strong>É necessario o preenchimento do Telefone</strong></font>"; echo "<FONT FACE=\"Arial, Helvetica, sans-serif\" color=\"#FFFFFF\" SIZE=\"2\"> <br><br><a href=\"javascript:history.back(1)\"> <IMG SRC=\"../imagens/voltapt.jpg\" WIDTH=\"80\" HEIGHT=\"30\" BORDER=\".\"></a></font>"; echo "</body></html>"; } // Verifica o campo E-MAIL está preenchido elseif (empty($email)){ // HTML que aparecerá o ERRO echo "<html><head><title>Ocorreu Um ERRO !!!</title></head>"; echo "<body background=\"../imagens/lado.gif\">"; echo "<br><br><br>"; echo "<FONT FACE=\"Arial, Helvetica, sans-serif\" color=\"#FFFFFF\" SIZE=\"2\"> <strong>O e-mail não foi digitado</strong></font>"; echo "<FONT FACE=\"Arial, Helvetica, sans-serif\" color=\"#FFFFFF\" SIZE=\"2\"> <br><br><a href=\"javascript:history.back(1)\"> <IMG SRC=\"../imagens/voltapt.jpg\" WIDTH=\"80\" HEIGHT=\"30\" BORDER=\".\"></a></font>"; echo "</body></html>"; } // Verifica se o E-MAIL contém @ elseif (!(strpos($email,"@")) OR strpos($email,"@") !=strrpos($email,"@")) { // HTML que aparecerá o ERRO echo "<html><head><title>Ocorreu Um ERRO !!!</title></head>"; echo "<body background=\"../imagens/lado.gif\">"; echo "<br><br><br>"; echo "<FONT FACE=\"Arial, Helvetica, sans-serif\" color=\"#FFFFFF\" SIZE=\"2\"> <strong>O e-mail não é válido</strong></font>"; echo "<FONT FACE=\"Arial, Helvetica, sans-serif\" color=\"#FFFFFF\" SIZE=\"2\"> <br><br><a href=\"javascript:history.back(1)\"> <IMG SRC=\"../imagens/voltapt.jpg\" WIDTH=\"80\" HEIGHT=\"30\" BORDER=\".\"></a></font>"; echo "</body></html>"; } // Verifica se o campo TEXTO está preenchido elseif (empty($texto)){ // HTML que aparecerá o ERRO echo "<html><head><title>Ocorreu Um ERRO !!!</title></head>"; echo "<body background=\"../imagens/lado.gif\">"; echo "<br><br><br>"; echo "<FONT FACE=\"Arial, Helvetica, sans-serif\" color=\"#FFFFFF\" SIZE=\"2\"> <strong>Você não digitou uma mensagem</strong></font>"; echo "<FONT FACE=\"Arial, Helvetica, sans-serif\" color=\"#FFFFFF\" SIZE=\"2\"> <br><br><a href=\"javascript:history.back(1)\"> <IMG SRC=\"../imagens/voltapt.jpg\" WIDTH=\"80\" HEIGHT=\"30\" BORDER=\".\"></a></font>"; echo "</body></html>"; } else{ // Confirma o Envio Do E-mail if ($certo== "1") { // Função de envio Do E-mail //mail ("seuendereço@seuservidor.com.br ","nome","string message", "string additional_headers"); //$email = "email@dominio.com"; $dominio = "www."; $complemento = split("@", $email); $endereco = $dominio.$complemento[1]; $fp = @fsockopen($endereco,80); if($fp) { mail ("$emaildest","Cadastro no site$assunto\n", "Empresa:$empresa\n Nome:$nome\n Cargo:$cargo\n Depto:$dept\n Telefone:$telefone\n Email:$email\n News:$news\n Mensagem:$texto\n\n "From:$empresa<$email>"); echo "<html><head>"; echo "<meta http-equiv=\"refresh\" content=\"0;url=$redirecionar\">"; echo "<title>Redirecionado ...</title>"; echo "</head><body bgcolor=\"#ffffff\">"; fclose($fp); } else { echo "<html><head><title>Ocorreu Um ERRO !!!</title></head>"; echo "<body background=\"../imagens/lado.gif\">"; echo "<br><br><br>"; echo "<FONT FACE=\"Arial, Helvetica, sans-serif\" color=\"#FFFFFF\" SIZE=\"2\"> <strong>Seu e-mail está incorreto!</strong></font>"; echo "<FONT FACE=\"Arial, Helvetica, sans-serif\" color=\"#FFFFFF\" SIZE=\"2\"> <br><br><a href=\"javascript:history.back(1)\"> <IMG SRC=\"../imagens/voltapt.jpg\" WIDTH=\"80\" HEIGHT=\"30\" BORDER=\".\"></a></font>"; echo "</body></html>"; } } /* // HTML do redirecionameto e se não redirecionar aparece um link //echo "<a href=\"$redirecionar\" target=\"_top\">Volta Para O Site</a>"; echo "</body></html>";*/ } ?>

0
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Validar se o e-mail é válido

02-03-2010 14:43

Blz.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 25 postagens
Mais de 25 postagens
Mensagens: 45

Validar se o e-mail é válido

02-03-2010 16:57

só mais uma coisa amigo,

será que eu consigo fazer com que o e-mail tenha no mínimo 6 caracteres antes do @?

eu pensei em colcoar assimno código, mas tá dando erro!

elseif (strlen($email)<8 (strpos($email,"@")) OR strpos($email,"@") !=strrpos($email,"@"))) {

onde será q estou errando??

O.ô
0
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Validar se o e-mail é válido

02-03-2010 17:06

Para o tamanho do email antes do @, você tem que fazer a contagem antes

$email = "1234567@email.com"; $parte = explode("@", $email); echo strlen($parte[0]);

Usa o $parte[0] para verificar se é menor que tanto.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 25 postagens
Mais de 25 postagens
Mensagens: 45

Validar se o e-mail é válido

15-04-2010 11:33

e se caso eu quiser bloquear um determinado domínio no php?
tipo não gostaria de receber e-mails de ...@mail.ru seria possível?

se puder me ajudar eu agradeço!

Abraço
0
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Validar se o e-mail é válido

15-04-2010 11:50

Pega a parte depois do arroba, que separou com o explode, e compara com esse valor

if($paretal=="mail.ur") { echo "inválido"; exit; // para não continuar o script abaixo }

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 25 postagens
Mais de 25 postagens
Mensagens: 45

Validar se o e-mail é válido

15-04-2010 14:39

Eu estava verificando uns sites e alguns dizem que é possível deixar um campo em branco e em hidden para que os robos de preenchimento de formulários preencham esse campo, mas o usuário normal não veja esse campo.
o que seria interessante, que o campo hidden não seja preenchido, se ele tiver algum valou o form.php diz que ele não pode ser preenchido ou apresenta um erro...
como fazer com que o php force o cliente a não preencher esse campo?
seria o contrário da função "empty", que verifica se o campo foi ou não preenchido.

abraço
0
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Validar se o e-mail é válido

15-04-2010 15:33

Quanto a preenchimento por robôs / spam automático, eu ví em um site que o ideal seria colocar um campo select, com uma pergunta básica, e deixar essa pergunta de forma negativa, para que o usuário preencha, tipo:

<select>
<option value="sim" selected>sim</option>
<option value="nao">não</option>
</select>

Note que sim, já vem selecionado, então o robô seria obrigado a ler e escolher, caso contrário não entraria, porque você iria verificar se esse valor fosse sim, estaria errado.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Mensagens: 1308
Sexo: Masculino

Validar se o e-mail é válido

16-06-2010 11:51

Olá! Inseri vários e-mails conhecidos e que seriam válidos e retornou que estão aparentemente ok; portanto, os domínios constantes dos endereços estariam aparentemente ok, ou seja, em tese, existiriam. Entretanto, o domínio http://www.teste.com.br existe, sendo possível consultá-lo no site http://www.registro.br. Se eu consultar, pelo código, o endereço teste@teste.com.br, retorna-se que ele está aparentemente inválido, o que teria a ver com suposta inexistência do domínio, mas ele existe. Ocorrência idêntica se dá em código semelhante que testei (http://www.sosdesigners.com/colunas-80.html). Por que ocorreria isso em face do endereço teste@teste.com.br, se o domínio existe? É possível consultar os dados do domínio pelo link https://registro.br/cgi-bin/whois/?qr=t ... .br&#lresp. Mas parece que ele não estaria sendo utilizado, que não haveria site hospedado em face do mesmo. Esse poderia ser o motivo de resultar a consulta de tal maneira em face do endereço teste@teste.com.br?
0
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Validar se o e-mail é válido

16-06-2010 16:19

Realmente, o domínio existe, mas, o DNS é que não deve ter sido setado, ou seja, não foi informado no registro.br que existem arquivos para esse domínio. Acho que pode ser isso.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Mensagens: 1308
Sexo: Masculino

Validar se o e-mail é válido

16-06-2010 16:53

Registrei alguns domínios, e os deixei expirar. Mas me parece que no Registro.br só se informam os dados do servidor de DNS, sem o que o registro estaria irregular, e o registro daquele domínio aparenta estar ok, sem pendências. Há empresas nas quais se "alugaria" o servidor de DNS (SuperDns, por exemplo), para fornecer os dados à entidade registradora, sem estar o site hospedado, e, no caso da hospedagem, seriam informados os dados do servidor de DNS do provedor de hospedagem. Quando houver tal ocorrência (semelhante ao do domínio www.teste.com.br), poderei colocar mensagem dizendo que não há site hospedado para o domínio vinculado ao e-mail fornecido, ou coisa dessa natureza. Estaria certa a mensagem?
0
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Validar se o e-mail é válido

16-06-2010 17:39

Eu fiz um teste aqui no script do post, usando o email citado: teste@teste.com.br e deu como resultado domínio inválido. A mesma coisa ao tentar acessar o site pelo http://www.teste.com.br esse domínio não foi encontrado.

Não entendi muito bem o que deseja fazer.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Mensagens: 1308
Sexo: Masculino

Validar se o e-mail é válido

17-06-2010 09:45

Desejo fazer o que faz o script. É que eu gostaria de formular uma mensagem precisa, caso ocorresse situação como a desse domínio. Na verdade, o domínio é inválido para o script, que não o localiza na consulta, mas o domínio existe. Vou colocar na mensagem que se trata de "domínio inexistente ou não referente a site hospedado" (pois no caso do www.teste.com.br ele existe, aparenta estar ok em face da entidade registradora, mas quando o chamamos pelo navegador, não é aberto site correspondente. Eu uso conexão Speedy no Estado de São Paulo, com banda nominal de 2Mb. A consulta que o código faz demoraria muito numa conexão mais lenta?
0
 
Mais de 1000 postagens
Mais de 1000 postagens
Mensagens: 1308
Sexo: Masculino

Validar se o e-mail é válido

17-06-2010 10:17

Essa função checa a existência do domínio: $fp = fsockopen($servidor,80); (é isso?). Se não encontra o domínio, o que retorna? Zero? Quero fazer a validação, por exemplo:

if($fp == "0"){echo "Domínio do e-mail inexistente ou não referente a site hospedado!";}

0
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Validar se o e-mail é válido

17-06-2010 15:47

Você deveria usar um script de whois, para verificar se o domínio está registrado primeiro. Veja abaixo

http://www.codigosnaweb.com/forum/Scrip ... _1801.html
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Mensagens: 1308
Sexo: Masculino

Validar se o e-mail é válido

17-06-2010 16:52

Vou pesquisar sobre o script de whois. Enquanto isso, quero postar o código como ficou. Adaptei o script que você colocou no princípio do post. Testei e aparentemente está funcionando ok (execute-o para dar uma conferida). Eis:

Arquivo index.php:

<html> <head> <title>Validação de e-mail</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <form name="form1" method="post" action="ValidaEmail.php"> <input name="email" type="text" id="email"> <input type="submit" name="Submit" value="Conferir"> </form> </body> </html>

E arquivo ValidaEmail.php:

<? function validaEMAIL($email){ $mail_correcto = 0; //verifico umas coisas if ((strlen($email) >= 6) && (substr_count($email,"@") == 1) && (substr($email,0,1) != "@") && (substr($email,strlen($email)-1,1) != "@")){ if ((!strstr($email,"'")) && (!strstr($email,"\"")) && (!strstr($email,"\\")) && (!strstr($email,"\$")) && (!strstr($email," "))) { //vejo se tem caracter . (ponto) if (substr_count($email,".")>= 1){ //obtenho a terminação do dominio $term_dom = substr(strrchr ($email, '.'),1); //verifico que a terminação do dominio seja correcta if (strlen($term_dom)>1 && strlen($term_dom)<5 && (!strstr($term_dom,"@")) ){ //verifico que o de antes do dominio seja correcto $antes_dom = substr($email,0,strlen($email) - strlen($term_dom) - 1); $caracter_ult = substr($antes_dom,strlen($antes_dom)-1,1); if ($caracter_ult != "@" && $caracter_ult != "."){ $mail_correcto = 1; } } } } } if ($mail_correcto) return true; else return false; } function ValidaDominioEmail($email) { //$email = ${"Email"}; //$email = $_POST['Email']; //$email = "email@dominio.com"; $dominio = "www."; $complemento = split("@", $email); $endereco = $dominio.$complemento[1]; $fp = @fsockopen($endereco,80); if($fp) { return TRUE; //echo "O endereço de e-mail está aparentemente OK"; fclose($fp); } else { return FALSE; //echo "O endereço de e-mail está aparentemente inválido"; } } if(empty($_POST[email])){echo "O campo \"Endere&ccedil;o de e-mail\" &eacute; obrigat&oacute;rio!";} elseif(validaEmail($_POST[email])=="0"){echo "E-mail inválido!";} else{ if(ValidaDominioEmail($_POST[email])=="0"){echo "Domínio do e-mail inexistente ou não referente a site hospedado!";} } //para testar: mostra que o domínio do e-mail é válido: if(ValidaDominioEmail($_POST[email])!="0"){echo "Domínio do e-mail se refere a site hospedado!";} //fim para testar: mostra que o domínio do e-mail é válido echo "<br>"; echo "<a href=index.php>nova consulta<a/>"; ?>

Há uma demora maior para retornar a consulta quando o código não encontra o domínio do e-mail. É possível inserir uma mensagem de que se está pesquisando sobre o e-mail?

Quanto à consulta pelo whois (ainda vou pesquisar conforme você sugeriu) acredito que vai dar no que dá quanto ao domínio http://www.teste.com.br. Consultado pelo whois do site Registro.br, o domínio existe, mas não estaria hospedado, motivo pelo qual acredito não haver razão para validar um e-mail referente a ele, pois, em tese, não estaria ativo. Ao menos assim penso.
0
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Validar se o e-mail é válido

17-06-2010 17:04

No caso da espera, você pode enviar os dados via jQuery, assim vai poder colocar um loading.

Faça os testes com o script do whois, qualquer coisa volte a postar.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Bing [Bot]