Bonjour je cherche un srcipt (fiable) qui verifie si l'adresse mail d'un de mes membres existe.

je trouve sur internet des script mais la fiabilité laisse à desiré, en effet il valide bien ou invalide bien des adresse avec des domaine comme wanadoo, orange, free mais les autres comme : info"arobase"gpsevasion.com (lol) il me retourne adresse invalide..

avez vous des pistes ?

pour votre info j'utilise ce script
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
 
<?
function mailCheck($Email)
{
	// L'adresse email doit être correctement formattée
	if(!eregi("^[[:alpha:]]{1}[[:alnum:]]*((\.|_|-)[[:alnum:]]+)*@[[:alpha:]]{1}[[:alnum:]]*((\.|-)[[:alnum:]]+)*(\.[[:alpha:]]{2,})$", $Email))
		exit('L\'adresse '.$Email.' est mal formatée');
	// On récupère le domaine
	list(,$domain ) = split('@',$Email); 
	// On cherche des enregistrements MX dans les DNS
	if (getmxrr($domain, $MXHost)) 
		$ConnectAddress = $MXHost[0];
	else
		$ConnectAddress = $domain;
	// On créé la connexion sur le port smtp (25)
	$Connect = @fsockopen($ConnectAddress,25,&$errno,&$errstr); 
	if($Connect)
	{
		if(ereg("^220", $Out = fgets($Connect, 1024)))
		{
			fputs ($Connect, "HELO {$_SERVER['HTTP_HOST']}\r\n");
			$Out = fgets ( $Connect, 1024 );
			fputs ($Connect, "MAIL FROM: <{$Email}>\r\n");
			$From = fgets ( $Connect, 1024 );
			fputs ($Connect, "RCPT TO: <{$Email}>\r\n");
			$To = fgets ($Connect, 1024);
			fputs ($Connect, "QUIT\r\n");
			fclose($Connect);
			// Si le code renvoyé par la commande RCPT TO est 250 ou 251 (cf: RFC)
			// Alors l'adresse existe
			if (!ereg ("^250", $To) && !ereg ( "^251", $To ))
				// Adresse rejetée par le serveur
				return false;
			else
				// Adresse acceptée par le serveur
				return true;
		}else{
			// Le serveur n'a pas répondu
			return false;
		}
	}else{
		// Connexion au serveur de messagerie impossible
		// vous pouvez afficher le message d'erreur en décommentant la ligne suivante:
		// echo $errno."-".$errstr;
		return false;
 
	}
}
 
 
 
 
 
if ((isset($HTTP_POST_VARS["MM_insert"])) && ($HTTP_POST_VARS["MM_insert"] == "form1") ) { // enregistrement des données
// Définissez ici l'adresse à vérifier
$mail = 'test@test.com';
$mail = $_POST['mail'] ;
 
if(mailCheck($mail))
	echo 'L\'adresse existe';
else
	echo 'L\'adresse n\'existe pas ou une erreur est survenue';
}
 
?>
 
 
 
 
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
 
<body>
<form name="form1" method="post" action="">
  <input type="text" name="mail">
  <input type="submit" name="Submit" value="Envoyer">
  <input type="hidden" name="MM_insert" value="form1">
</form>
</body>
</html>
merci pour votre aide