a mon avis si on s'y met maintenant on peut finir dans quelques milliers d'années
si c'est pour gerer du spam par exemple, pourquoi ne pas passer par le systeme inverse, et utiliser des DNSBL ?

si c'est pour gerer du spam par exemple, pourquoi ne pas passer par le systeme inverse, et utiliser des DNSBL ?
En fait c'est juste une solution coopérative visant a lister les nom de domaines (ou IP pour les RBL) qui envoient du spam. C'est a dire probablement le contraire de ce que tu veux. Si c'est pour tester si spam il y a ou non, tu peux utiliser ca.
http://fr.wikipedia.org/wiki/DNSBL (en francais et bien plus court que le lien que je t'avais donné avant)
Après on ne sait toujours pas a quoi ca va te servir d'avoir tous les noms de domaines "valides", donc on ne peut pas vraiment t'aider...
http://fr.wikipedia.org/wiki/DNSBL (en francais et bien plus court que le lien que je t'avais donné avant)
Après on ne sait toujours pas a quoi ca va te servir d'avoir tous les noms de domaines "valides", donc on ne peut pas vraiment t'aider...
C'est pour une histoire de newsletter. Pour détecter les inscriptions potentiellement frauduleuse. (pour l'instant je detecte juste les .kkchoz ki sont louches. Je ne les bloque pas. C'est juste pour signaler que ce truc est louche ou pas.
Par exemple si quelqu'un arrive à s'inscrire avec une adresse en truc@truc.caribou je le mettrai en "louche".
Vous voyez le truc ?
Ce n'est pas de la prospection je te rassure Igor
Rude
Par exemple si quelqu'un arrive à s'inscrire avec une adresse en truc@truc.caribou je le mettrai en "louche".
Vous voyez le truc ?
Ce n'est pas de la prospection je te rassure Igor

Rude
C'est demandé par le client.... Je lui ai expliqué qu'il n'était pas possible de savoir si une adresse était valide ou non et qu'il existait des noms de domaines du style @XXX.sk.biz.truc qui était tout à fait valide...
Donc bon ... j'essaye de lui donner satisfaction pour le moment. Si je ne peux vraiement rien faire ... bah tant pis.
Mais en gros maitre Florent ... l'idée c'est ca ...
Après le client pourra lui même autoriser un certains domaine pour qu'il ne soit plus en catégorie "louche" (sachant que cette catégorie n'est rien d'autre que l'adresse mail écrite en rouge dans la liste ....).
Rude
Modifié par ffwrude (04 Jan 2008 - 10:44)
Donc bon ... j'essaye de lui donner satisfaction pour le moment. Si je ne peux vraiement rien faire ... bah tant pis.
Mais en gros maitre Florent ... l'idée c'est ca ...
Après le client pourra lui même autoriser un certains domaine pour qu'il ne soit plus en catégorie "louche" (sachant que cette catégorie n'est rien d'autre que l'adresse mail écrite en rouge dans la liste ....).
Rude
Modifié par ffwrude (04 Jan 2008 - 10:44)
Ca ne suffirait pas de faire un ping sur le domaine de l'adresse mail sur les ports pop3 et/ou imap4? Si réponse, OK, si pas de réponses, en effet c'est louche.
Edit : généralement :
pop2 : port 109
pop3 : port 110
pop3 over SSL : port 995
imap3 : port 220
imap4 : port 143
imap4 over SSL : port 993
Modifié par skywalk3r (04 Jan 2008 - 12:12)
Edit : généralement :
pop2 : port 109
pop3 : port 110
pop3 over SSL : port 995
imap3 : port 220
imap4 : port 143
imap4 over SSL : port 993
Modifié par skywalk3r (04 Jan 2008 - 12:12)
Oui pourquoi pas. Comment je peux faire ca ? On peut pinger en PHP ?
Rude
EDIT : donc avec quelque chose comme fopensocket (je sais plus éxactement comment ca s'écrit). Il me semble que cette fonction servait à communiquer avec un port donné.
Bien sur rien n'est fiable à 100% mais ca peut déjà donner quelque chose non ?
Modifié par ffwrude (04 Jan 2008 - 12:23)
Rude
EDIT : donc avec quelque chose comme fopensocket (je sais plus éxactement comment ca s'écrit). Il me semble que cette fonction servait à communiquer avec un port donné.
Bien sur rien n'est fiable à 100% mais ca peut déjà donner quelque chose non ?
Modifié par ffwrude (04 Jan 2008 - 12:23)
Tu peux toujours essayer d'ouvrir une socket sur le port choisi en php :
De la doc ici
Ou tu peux essayer des WHOIS sur les noms de domaines. Je pense que sur cette page tu trouveras le script pour faire un whois en php. (pas eu le temps de regarder dans le détail)
De la doc ici
Ou tu peux essayer des WHOIS sur les noms de domaines. Je pense que sur cette page tu trouveras le script pour faire un whois en php. (pas eu le temps de regarder dans le détail)
Source php.net
<?php
function validate_email($email){
$mailparts=explode("@",$email);
$hostname = $mailparts[1];
// validate email address syntax
$exp = "^[a-z\'0-9]+([._-][a-z\'0-9]+)*@([a-z0-9]+([._-][a-z0-9]+))+$";
$b_valid_syntax=eregi($exp, $email);
// get mx addresses by getmxrr
$b_mx_avail=getmxrr( $hostname, $mx_records, $mx_weight );
$b_server_found=0;
if($b_valid_syntax && $b_mx_avail){
// copy mx records and weight into array $mxs
$mxs=array();
for($i=0;$i<count($mx_records);$i++){
$mxs[$mx_weight[$i]]=$mx_records[$i];
}
// sort array mxs to get servers with highest prio
ksort ($mxs, SORT_NUMERIC );
reset ($mxs);
while (list ($mx_weight, $mx_host) = each ($mxs) ) {
if($b_server_found == 0){
//try connection on port 25
$fp = @fsockopen($mx_host,25, $errno, $errstr, 2);
if($fp){
$ms_resp="";
// say HELO to mailserver
$ms_resp.=send_command($fp, "HELO microsoft.com");
// initialize sending mail
$ms_resp.=send_command($fp, "MAIL FROM:<support@microsoft.com>");
// try receipent address, will return 250 when ok..
$rcpt_text=send_command($fp, "RCPT TO:<".$email.">");
$ms_resp.=$rcpt_text;
if(substr( $rcpt_text, 0, 3) == "250")
$b_server_found=1;
// quit mail server connection
$ms_resp.=send_command($fp, "QUIT");
fclose($fp);
}
}
}
}
return $b_server_found;
}
function send_command($fp, $out){
fwrite($fp, $out . "\r\n");
return get_data($fp);
}
function get_data($fp){
$s="";
stream_set_timeout($fp, 2);
for($i=0;$i<2;$i++)
$s.=fgets($fp, 1024);
return $s;
}
// support windows platforms
if (!function_exists ('getmxrr') ) {
function getmxrr($hostname, &$mxhosts, &$mxweight) {
if (!is_array ($mxhosts) ) {
$mxhosts = array ();
}
if (!empty ($hostname) ) {
$output = "";
@exec ("nslookup.exe -type=MX $hostname.", $output);
$imx=-1;
foreach ($output as $line) {
$imx++;
$parts = "";
if (preg_match ("/^$hostname\tMX preference = ([0-9]+), mail exchanger = (.*)$/", $line, $parts) ) {
$mxweight[$imx] = $parts[1];
$mxhosts[$imx] = $parts[2];
}
}
return ($imx!=-1);
}
return false;
}
}
?>