PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 12-10-2011 14:59:36

debe
Membre
Inscription : 25-06-2009
Messages : 87

corriger adresses mail

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 ?

Hors ligne

#2 12-10-2011 15:58:45

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 628
Site Web

Re : corriger adresses mail

Bonjour,

Je viens juste de finir de lire ton post, et à première vue je ne vois pas d'autres solutions.
La complexité du travail a effectuer à mon sens ne réside pas là mais en amont lorsqu'il faut déterminer si le domaine initial est correct ou non.
Par rapport à cela, je pense que tu peux limiter le champ d'action de ton algorithme au type de personnes censées te contacter. (Ex: Monsieur X, particulier avec une boîte aux lettres gratuite publique ex:caramail, ou un employé de société dont le domaine peut être masociété.com).

Le plus simple je pense est de réaliser l'algorithme suivant :
1) On vérifie l'existence du mail tel qui nous a été fournit via une requête réseau (IMAP) (idéalement à inclure dans le formulaire qui demande l'adresse email de l'internaute pour être certain que l'adresse soit valide, et comme ceci, l'algo s'arrete ici^^)
2) Si c'est ok -> fin sinon on continue
3) on établi la bibliothèque des erreurs de domaines rencontrées (comme dans ton post) et on applique la modification si l'erreur est trouvée (fin).
4) Sinon on perd une adresse email.

Cordialement,

Jc

Dernière modification par Jc (12-10-2011 15:59:18)


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#3 12-10-2011 16:09:12

debe
Membre
Inscription : 25-06-2009
Messages : 87

Re : corriger adresses mail

sur un autre forum
http://www.siteduzero.com/forum-83-6979 … l#r6742239

on m'a proposé une autre solution

<?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;
?>

je pensais tester d'abord avec checkdnsrr mais la remarque de la personne qui m'a aidée est pertinente : les nom de domaines comme gmail.fr ou gmazil.com ont été squatté et ramène donc true

la solution est donc, grâce à ce test, de suggérer à l'internaute une correction de son adresse, libre à lui de garder celle tapée

Hors ligne

#4 12-10-2011 17:06:00

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 628
Site Web

Re : corriger adresses mail

Bonjour,

Je ne sais pas si tu as lu ce que j'ai écris mais tu n'as visiblement rien compris (auquel cas tout s'explique).

jc a écrit :

On vérifie l'existence du mail tel qui nous a été fournit via une requête réseau (IMAP) (idéalement à inclure dans le formulaire qui demande l'adresse email de l'internaute pour être certain que l'adresse soit valide, et comme ceci, l'algo s'arrete ici^^)

Ceci oblige l'internaute à saisir une adresse email valide (avec quelqu'un au bout=qui existe) et ce, quelque soit le contexte. Par ex: jhibou@caramail.com est une adresse de mail valide mais elle n'existe pas (si c'est le cas veuillez m'excuser). La vérification que je te propose détecte si l'adresse existe via IMAP. Si cela n'est pas le cas, ton formulaire demande d'en saisir une autre. Et donc dans ce cas, on se moque de ce qu'à saisi l'internaute.

Note: Vérifier cependant le masque via une expression régulière peut te permettre d'éviter d'intérogger pour rien le réseau.
Note 2: Juste comme ça, le protocole IMAP n'a rien à voir avec avec un serveur DNS mais avec un serveur MX.
Note 3: De récupérer une fausse adresse email : aucun intérêt.
Note 4: Certains programmeurs qui ne savent pas interroger un serveur MX, utilisent l'activation de compte par email pour contourner le problème.

Dernière modification par Jc (12-10-2011 17:15:42)


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#5 12-10-2011 19:51:27

debe
Membre
Inscription : 25-06-2009
Messages : 87

Re : corriger adresses mail

effectivement, j'avais lu trop vite. cette vérification est faite pour signer une pétition : la personne reçoit un mail à la signature et doit valider sa pétition.

Le pb, c'est quand son adresse est fausse (mauvaise frappe) elle ne reçoit pas cette demande de validation . d'ou ma volonté de vérifier en amont

Hors ligne

#6 12-10-2011 23:25:24

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 628
Site Web

Re : corriger adresses mail

roll:rolleyes::o


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#7 13-10-2011 07:25:07

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : corriger adresses mail

Jc fait le dur apprentissage de l'échange mono-directionnel.:lol:


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#8 13-10-2011 12:56:53

debe
Membre
Inscription : 25-06-2009
Messages : 87

Re : corriger adresses mail

désolé, j'ai un peu buggé la dessus
en fait la partie que je n'ai pas du saisir est celle concernant la requête réseau (IMAP).

je vais faire une recherche la dessus et tester cela

désolé pour la mauvaise compréhension

Hors ligne

Pied de page des forums