bonjour !
je voudrais pouvoir tester si une adresse email est valide (si elle existe réellement)
j'ai regardé ds les forums et je n'ai rien trouvé en PERL
merci de vos propositions
bonjour !
je voudrais pouvoir tester si une adresse email est valide (si elle existe réellement)
j'ai regardé ds les forums et je n'ai rien trouvé en PERL
merci de vos propositions
Bonjour,
je te conseille la lecture de "Perl en action" et notamment le chapitre 18 de ce livre qui aborde les services sur Internet, le chapitre se termine sur la mise en pratique d'un programme Perl permettant la vérification d'adresse mail.
Voilà ca devrait faire l'affaire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 if ($adr_mail =~ m/^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})|([a-zA-Z0-9\-\.]+))\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/g){ print "Adresse Ok"; } else{ print "pas bon"; }
hé Cyspak... cela ne vérifie pas si l'adresse 'existe' seulement si elle a un 'bon format'
bien vu Chance666, les exemples du livre sont chez oreilly
Bah si elle a le bon format c'est forcément quelle existe dans ta variable !! sinon elle n'existe pas
Enfin je pense qu'il est assez grand pour la mettre dans un variable, non :
non, non, tu ne veux pas comprendre... il veut vérifier que cette adresse de messagerie est une adresse existante sur un serveur de messagerie et que si on envoie un message à cette adresse on n'aura pas de message d'erreur du style 'user unknown'Envoyé par Cyspak
enfin c'est ce que j'avais compris... et chance666 aussi je pense
Ah pardon, je n'avais effectivement pas bien compris son problème. Ca manquait p'tet un peu de détails...
effectivement je veux vérifier lque l'adresse existe sur le serveur.
j'ai regardé sur le site oreilly pour les exemples ... mais je vois pas exactement quel est LE code qu'il faut utiliser pr cette vérif.
qq1 peut-il m'aider à ce niveau ?
merci d'avance
bin apparemment le code en question n'est pas dans les exemples
et j'me vois mal le recopier ici
en gros il faut faire une connexion SMTP sur le serveur de messagerie de l'adresse après avoir récupéré le MX via le DNS (à mes souhaits... )
puis
<adresse> c'est ce qui est avant le '@' de l'adresse de messagerie
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 HELO <mon_nom> VRFY <adresse> quit
tu récupères les données envoyées par le serveur et tu vérifies le code retour
220 et 221 ok (je crois)
250 erreur
bonjour,
j'aurai voulu savoir ce qu'est le "MX via le DNS" ???
et comment récupérer l'adresse du serveur SMTP ???
merci
Salut,
Pour faire tout ce que tu veux ils suffit d'utiliser le Module Perl Mail::CheckUser que tu va trouver sur CPAN :
Bon comme d'habitude ce module fait le cafe (il n'est pas ecrit en java ... dieu merci ) :
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 #!/usr/bin/perl -w # BEGIN { unshift (@INC, "./"); } use Mail::CheckUser qw(check_email last_check); my $email = 'billou@windows_sucks_linux_rocks.com'; if(check_email($email)) { print "E-mail address <$email> is OK\n"; } else { print "E-mail address <$email> isn't valid: ", last_check()->{reason}, "\n"; }
- verifi si le mail est au bont format
- l'entree MX ou A existe dans le DNS
- se connect au serveur mail du domaine (A ou MX) et execute les commandes VRFY etc ...
C'est fiable a 85% car certains serveur de mail desactivent la commande VRFY mais bon
Voilou
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager