Bonjour,

J'ai lus sur le site de php.net qu'il ne fallait pas utiliser la fonction getmxrr afin de vérifier la validité d'une adresse e-mail.

En ce qui me concerne j'aimerais utiliser cette fonction afin de vérifier tout les e-mail de ma base de donné:

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
 
function mailCheck($Email)
{
usleep(10000);
   list(,$domain ) = split('@',$Email);
   if (getmxrr($domain, $MXHost))
      $ConnectAddress = $MXHost[0];
   else
      $ConnectAddress = $domain;
   $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);
         if (!ereg ("^250", $To) && !ereg ( "^251", $To ))
            // Adresse rejetée par le serveur
            // code concerné ...
         else
            // Adresse acceptée par le serveur
            // code concerné ...
      }else{
         // Le serveur n'a pas répondu
         // code concerné ...
      }
   }else{
      // Connexion au serveur de messagerie impossible
      // code concerné ...      
   }
}
Mais avant tout, j'aimerais savoir pourquoi php.net signale qu'on ne dois pas l'utiliser ainsi et quel son les risques ?!