Verificar email
Verificar se o dominio do email eh valido e se tem o @
Data | Autor | Changelog | Download |
---|---|---|---|
23/09/2001 3:25pm | Ledson Carvalho | - | Versão 0.1 |
Oi, ieu de novo...
dei uma olhada como seria para windows, é um pouco estranho pq tem menos recursos, mas funciona.
<?php
$email = explode('@', $email); //transforma em array o email.
$emailhost = $email[1]; //grava o dominio do email na variavel.
/**
nesse ponto vamos usar duas funcoes: gethostbyname e gethostbyaddr. A gethostbyname serve para dar um "ping" e pegar o ip do dominio, mas percebi que no windows, pelo menos, se ela nao encontrar ip valido ele retorna o mesmo nome. Depois usaremos, entao, a funcao gethostbyaddr, ela serve para fazer o processo contrário, voce fornece um ip para ela devolver o nome do dominio, mas se voce forcener algum outro dado a funcao retorna um erro, por isso vamos usar o "@" na frente, nesse caso, se ela retornar o erro a variavel vai apagar, entao saberemos que o dominio é invalido.
*/
$ip = gethostbyname($emailhost);
@$ip = gethostbyaddr($ip);
if (!$ip){
echo "email invalido";
}
?>
espero que tenha entendido...
dei uma olhada como seria para windows, é um pouco estranho pq tem menos recursos, mas funciona.
<?php
$email = explode('@', $email); //transforma em array o email.
$emailhost = $email[1]; //grava o dominio do email na variavel.
/**
nesse ponto vamos usar duas funcoes: gethostbyname e gethostbyaddr. A gethostbyname serve para dar um "ping" e pegar o ip do dominio, mas percebi que no windows, pelo menos, se ela nao encontrar ip valido ele retorna o mesmo nome. Depois usaremos, entao, a funcao gethostbyaddr, ela serve para fazer o processo contrário, voce fornece um ip para ela devolver o nome do dominio, mas se voce forcener algum outro dado a funcao retorna um erro, por isso vamos usar o "@" na frente, nesse caso, se ela retornar o erro a variavel vai apagar, entao saberemos que o dominio é invalido.
*/
$ip = gethostbyname($emailhost);
@$ip = gethostbyaddr($ip);
if (!$ip){
echo "email invalido";
}
?>
espero que tenha entendido...
09/11/2003 7:02am
(~21 anos atrás)
nas linhas "print "email invalido";" e "print "email eh valido";" voce pode substituir por qualquer pagina que queira. Exemplo:
.
.
.
if (verifica_mail($email)) {
echo "<html><body>";
echo "Obrigado por enviar o seu email.";
echo "</body></html>";
} else {
echo "<html><body>";
echo "Desculpe amigo, nossos servidores dectaram o seu email como inválido, por favor, tente novamente.";
echo "</body></html>";
}
.
.
.
.
.
.
if (verifica_mail($email)) {
echo "<html><body>";
echo "Obrigado por enviar o seu email.";
echo "</body></html>";
} else {
echo "<html><body>";
echo "Desculpe amigo, nossos servidores dectaram o seu email como inválido, por favor, tente novamente.";
echo "</body></html>";
}
.
.
.
09/11/2003 6:19am
(~21 anos atrás)
Olá, o script é válido, porém voce deve saber que se voce estiver usando uma plataforma windows para usa-lo não vai funcionar, porque a função "checkdnsrr" utilizada nesse script não funciona em windows.
09/11/2003 6:13am
(~21 anos atrás)
Muito bom seu script, mas falta um detalhe para funcionar melhor. Para isto vc deverá mudar a linha:
$emailhost = $email[1]; //grava o dominio do email na variavel.
Para:
$emailhost = "www." . $email[1]; //grava o dominio do email na variavel.
Não colocando o www antes, alguns domínios podem não funcionar direito, e mesmo existindo, ele retornará como email inválido.