Partage
  • Partager sur Facebook
  • Partager sur Twitter

corriger adresses mail

Sujet résolu
    12 octobre 2011 à 16:03:29

    bonjour,
    dans mes formulaires, les personnes se trompent souvent dans leur adresse mail, et ceci malgré une obligation de retaper leur adresse.

    je voudrais corriger ces adresses à leur places pour éviter des retours de mails.

    j'ai fais cela mais je pense qu'il doit y avoir plus simple que tout ces elseif

    $domain = explode('@', $ad_mail);
        $domaine = $domain[1];
         
        $gmail = array('gmail.fr','gmal.com','gmazil.com');
        $orange = array('ornage.fr','prange.fr','roange.fr');
        $wanadoo = array('wanado.fr','xanadoo.fr','wandoo.fr');
        $free = array('freee.fr','fre.fr');
         
           if (in_array($domaine,$gmail))
            {
          $ad_mail = $domain[0].'@gmail.com';
            }
          elseif(in_array($domaine,$orange))
            {
           $ad_mail = $domain[0].'@orange.fr';
            }
            elseif(in_array($domaine,$wanadoo))
            {
           $ad_mail = $domain[0].'@wanadoo.fr';
            }
            elseif(in_array($domaine,$free))
            {
           $ad_mail = $domain[0].'@free.fr';
            }
    


    qu'en pensez-vous ?
    • Partager sur Facebook
    • Partager sur Twitter
      12 octobre 2011 à 16:10:11

      Qu'est-ce que tu en peux si ces personnes sont trop bêtes que pour inscrire 2 fois leur mauvaise adresse email ?
      • Partager sur Facebook
      • Partager sur Twitter
        12 octobre 2011 à 16:23:14

        Hello,

        tu peux aussi utiliser la fonction levenshtein(). Un exemple que je viens de faire rapidement.

        <?php
        $hosts = array('hotmail', 'gmail', 'wanadoo', 'orange', 'free', 'live', 'msn', 'yahoo');
        $user_entry = 'gmazil';
        	
        if(!in_array($user_entry, $hosts)) {
        	foreach($hosts as $host) {
        		if(levenshtein($user_entry, $host) <= 2) {
        				$user_entry = $host;
        				break;
        		}
        	}
        }
        	
        echo $user_entry;
        ?>
        
        • Partager sur Facebook
        • Partager sur Twitter
          12 octobre 2011 à 16:27:03

          Et si mon adresse email se fini par @gmazil, je ne peux pas utiliser le formulaire ? Sympa...
          • Partager sur Facebook
          • Partager sur Twitter
            12 octobre 2011 à 16:34:03

            Si t'as décidé de chercher la petite bête t'es probablement sur le mauvais forum. De plus c'est de plus en plus fréquent ce type de vérifications, souvent le problème est pris dans l'autre sens pour éviter certains hébergeurs, principalement les services de mail jetable ou certains hébergeurs qui ont tendance à placer en indésirable un peu tout ce qui arrive, mais je ne vois rien de choquant quand au fait de vouloir corriger l'adresse dans la mesure du possible, surtout que des adresses @gmazil ça doit pas vraiment courrir les rues.
            • Partager sur Facebook
            • Partager sur Twitter
              12 octobre 2011 à 16:39:47

              Empêcher de pouvoir utiliser des adresses emails parce que leur nom de domaine ne te convient pas est une chose, deviner l'adresse email d'une personne que tu ne connais pas en est une autre... Et pour moi ça n'a aucun sens.
              • Partager sur Facebook
              • Partager sur Twitter
                12 octobre 2011 à 16:48:37

                merci stoi, je ne connaissais pas levenshtein, je vais tester cela.

                xtaZy : t'as raison, faut toujours tenter d'énerver les posteurs, des fois, ça marche. :-)

                en fait, je pensais faire cela après avoir tester si le nom de domaine existe ou pas avec la fonction checkdnsrr. Le problème, c'est que laposte.fr existe, mais les email c'est laposte.net

                je pense toutefois utiliser checkdnsrr, et donc ne changer que pour les adresses dont le nom de domaine n'existe pas (faute de frappe)
                • Partager sur Facebook
                • Partager sur Twitter
                  12 octobre 2011 à 16:52:55

                  Citation : xtaZy

                  Empêcher de pouvoir utiliser des adresses emails parce que leur nom de domaine ne te convient pas est une chose, deviner l'adresse email d'une personne que tu ne connais pas en est une autre... Et pour moi ça n'a aucun sens.



                  C'est un système parfaitement viable pourtant. Dans 99.9% des cas cela corrigera de manière efficace l'erreur. Il suffit simplement de faire un système de suggestions pour satisfaire les 0.01% restant plutôt qu'une correction "brute", à savoir un message indiquant que l'adresse indiquée pourrait être fausse, car elle se rapproche d'une des adresses listées. Libre ensuite à l'utilisateur de corriger son adresse, ce qu'il fera dans 99.9% des cas si il a fait une erreur de frappe. Bien entendu, ne rien faire pour les adresses qui s'éloignent trop de celles listées ou complètement les bloquer, au choix. Ca me semble une solution satisfaisante pour tous les cas.

                  Je te rapelle que le but premier des interventions ici c'est d'apporter un support, pas de dire que telle ou telle chose ne te plait pas, ça ne fait pas réellement avancer le sujet. Si un sujet n'a pas de sens pour toi, passe simplement ton chemin ou argumente un minimum pour essayer de guider l'auteur vers ta vision des choses ou tes idées, car le ton actuel de tes réponses fait penser à ce qu'on appelle communément un troll.

                  Edit : hotmaail.fr ca existe, gmazil.com aussi... attention avec checkdnsrr(), tu n'arriveras peut-être pas au résultat escompté.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    12 octobre 2011 à 16:55:29

                    Explique-moi où mes interventions n'ont pas été pertinentes par rapport au sujet ?
                    • Partager sur Facebook
                    • Partager sur Twitter
                      12 octobre 2011 à 17:04:14

                      c'est vrai qu'avec checkdnsrr, on me retournera des nom de domaine existant mais farfelue ou pas trop probables (par exemple, j'ai énormément de gmail.fr qui ne sont pas liés à ce domaine squatté, mais bien une erreur des personnes qui mettent fr au lieu de com

                      effectivement, je vais juste proposer la correction, les personnes pouvant ne pas la valider si leur adresse est bonne

                      par contre, ton système ne corrige pas ces erreurs d'extensions (par exemple, laposte.fr au lieu de .net ou gmail.fr

                      merci pour ton aide.

                      ps : c'est sympa pour moi dis donc, c'est mon baptème : c'est la première fois que j'ai un sujet trollé sur un forum. Champagne !!
                      • Partager sur Facebook
                      • Partager sur Twitter
                        12 octobre 2011 à 17:08:49

                        Ce que j'ai proposé est un exemple, tu peux très bien ajouter l'extension dans la liste des domaines, ça ne devrait pas poser de soucis particuliers. C'était juste histoire d'illustrer les possibilités offertes par la fonction levenshtein().
                        • Partager sur Facebook
                        • Partager sur Twitter
                          13 octobre 2011 à 10:14:42

                          Bonjour à tous,

                          Pour ceux que cela intéresse, une solution a été proposée ici http://forum.phpdebutant.org/viewtopic [...] 07021#p107021
                          • Partager sur Facebook
                          • Partager sur Twitter

                          corriger adresses mail

                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                          • Editeur
                          • Markdown