IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Mail] possibilite de connaitre un mail nonexistant


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 59
    Par défaut [Mail] possibilite de connaitre un mail nonexistant
    bonjour , je suis en train de faire une gestion de newsletter mais j arrive pas a connaitre les mails inexistants lors de l envoi d'un newsletter
    voila le code:


    $entete="Content-type:text/html\r\n";
    $entete.="From:".$config[3]." <".$config[5].">\r\n";
    $entete.="Reply-To:".$config[3]." <".$config[7].">\r\n";
    //$entete.="Bcc:".$destinataires."\r\n";

    //Envoi du mail a chaque destinataire
    $nbrEchecs=0;
    while ($REP4=mysql_fetch_array($REQ4)){
    $REP4['email']=str_replace("\r\n", "", $REP4['email']);
    if (mail($REP4['email'],$sujet,$corps,$entete)){
    /*
    if ($REP4['email']=="info@artforum.ru"){
    echo $REP4['email'];
    echo $sujet."<br>";
    echo $corps."<br>";
    echo $entete."<br>";
    */
    } else {
    $adressesEchecs.=$REP4['email']."\\n";
    $nbrEchecs++;
    }
    }
    if (isset($adressesEchecs)){
    echo "<script language='javascript'>";
    echo "alert(\"Echec de l'envoi de la newsletter sur les adresses suivantes :\\n\\n".$adressesEchecs."\");";
    echo "</script>";

    mkdir('echecs/'.stripslashes($newsname));
    $filename="echecs/".stripslashes($newsname)."/".$_POST["type"]."_".$_POST["numType"].".html";
    $handle=fopen($filename,"w+");
    $adressesEchecs=str_replace("\\n","<br>", $adressesEchecs);
    fwrite($handle, $adressesEchecs);
    fclose($handle);
    }

  2. #2
    Membre éprouvé
    Inscrit en
    Janvier 2006
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 140
    Par défaut
    il me semble que la valeur de retour de mail() n'a rien à voir avec l'existence du destinataire...

    Si je ne me trompe pas, ton problème rejoint celui que j'ai abordé dans un autre sujet récent, à savoir le traitement des REPONSES des serveurs SMTP (pas de la fonction mail())

    En gros pour traiter ce genre de souci, il faut extraire de ta boite les retours de mails infructueux et les analyser...

    tu as un autre moyen un peu à l'arrache qui te permet de savoir qui lit ton mail et qui ne le lit pas. Mais je sais pas si c'est ça qui t'intéresse

  3. #3
    Rédacteur

    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 695
    Par défaut
    ça ne correspond pas complètement à ce que tu souhaite, mais c'est déjà une première partie
    http://fr2.php.net/checkdnsrr

    cette fonction te permet de savor si ce qui est après le @ existe vraiment
    (attention, cette fonction ne fonctionne pas partout)
    Articles sur developpez.com
    - Gestion des exceptions avec PHP5
    - Chiffrement et hash en PHP contre l'attaque Man in the middle
    - Aedituus - Espace membre sécurisé en PHP5

  4. #4
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 59
    Par défaut
    tu peux m envoyer comment utiliser cette fonction et il faut que je precise les les serveurs de noms de mon FAI

  5. #5
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 59
    Par défaut
    est ce que il faut que je mentionne tout les serveurs de messagerie dans la liste pour utiliser cette fonction ou l autre Net_DNS

  6. #6
    Rédacteur

    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 695
    Par défaut
    en cherchant un peu sur

    tu aurais trouver plusierus fonctions de ce style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function check_mail ($mail) {
            list($user, $domain) = split("@", $mail, 2);
            if (checkdnsrr($domain, "MX")) {
                    return true;
            } else
                    return false;
    }
    Attention, tu confond.
    ça ne trie pas les domaine que tu veux.
    Pour ça, pas besoin de fonction, tu découpe ton adresse et tu vérifie si la partie droite est par exemple dans un tableau.

    checkdnsrr t'indique si c'est un domaine réellement valide.
    par exemple
    checkdnsrr('yahoo.com', 'MX') renvoie true
    checkdnsrr('yahoo.cop', 'MX') renvoie false
    Articles sur developpez.com
    - Gestion des exceptions avec PHP5
    - Chiffrement et hash en PHP contre l'attaque Man in the middle
    - Aedituus - Espace membre sécurisé en PHP5

  7. #7
    Membre éprouvé
    Inscrit en
    Janvier 2006
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 140
    Par défaut
    je ne crois pas que ce soit ce qu'il cherche...

    avec cette fonction,

    lkqsjdflqksdvqsd**$ù^qsd$*fmqs$df@hotmail.com

    est valide...

    De plus la plupart des gens qui remplissent un formulaire avec un faux mail pour ne pas être embêtés (moi le premier) mettent un vrai serveur (genre hotmail ou yahoo)

Discussions similaires

  1. Connaitre le mail de l'expediteur en VBA Excel (Lotus 8.5)
    Par omarter dans le forum Lotus Notes
    Réponses: 11
    Dernier message: 24/07/2012, 07h51
  2. Possibilité d'envoi par mail
    Par Frenchguy dans le forum VBA Access
    Réponses: 7
    Dernier message: 24/05/2007, 15h43
  3. Réponses: 1
    Dernier message: 13/07/2006, 10h01
  4. [Mail] Impossible d'envoyer un mail
    Par bugalood dans le forum Langage
    Réponses: 4
    Dernier message: 17/09/2005, 02h38
  5. [Mail] Convertir texte en adresse mail
    Par Jean-Michel dans le forum Langage
    Réponses: 3
    Dernier message: 07/09/2005, 04h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo