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 Perl Discussion :

[langage] vérifier une adresse email


Sujet :

Langage Perl

  1. #1
    Membre actif

    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 87
    Points : 281
    Points
    281
    Par défaut [langage] vérifier une adresse email
    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

  2. #2
    Nouveau membre du Club
    Inscrit en
    Février 2003
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 47
    Points : 35
    Points
    35
    Par défaut
    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.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2002
    Messages : 68
    Points : 73
    Points
    73
    Par défaut
    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";
    }
    Voilà ca devrait faire l'affaire

  4. #4
    Membre habitué
    Inscrit en
    Août 2003
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 156
    Points : 187
    Points
    187
    Par défaut
    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

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2002
    Messages : 68
    Points : 73
    Points
    73
    Par défaut
    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 :

  6. #6
    Membre habitué
    Inscrit en
    Août 2003
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 156
    Points : 187
    Points
    187
    Par défaut
    Citation Envoyé par Cyspak
    Bah si elle a le bon format c'est forcément quelle existe dans ta variable !! sinon elle n'existe pas
    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'

    enfin c'est ce que j'avais compris... et chance666 aussi je pense

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2002
    Messages : 68
    Points : 73
    Points
    73
    Par défaut
    Ah pardon, je n'avais effectivement pas bien compris son problème. Ca manquait p'tet un peu de détails...

  8. #8
    Membre actif

    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 87
    Points : 281
    Points
    281
    Par défaut vérification d'adresse email SUITE
    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

  9. #9
    Membre habitué
    Inscrit en
    Août 2003
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 156
    Points : 187
    Points
    187
    Par défaut
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    HELO <mon_nom>
    VRFY <adresse>
    quit
    <adresse> c'est ce qui est avant le '@' de l'adresse de messagerie
    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

  10. #10
    Membre actif

    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 87
    Points : 281
    Points
    281
    Par défaut vérifier une adresse email SUITE
    bonjour,

    j'aurai voulu savoir ce qu'est le "MX via le DNS" ???
    et comment récupérer l'adresse du serveur SMTP ???

    merci

  11. #11
    Membre régulier

    Profil pro
    Inscrit en
    Août 2003
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 55
    Points : 75
    Points
    75
    Par défaut
    Salut,

    Pour faire tout ce que tu veux ils suffit d'utiliser le Module Perl Mail::CheckUser que tu va trouver sur CPAN :

    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";
    }
    Bon comme d'habitude ce module fait le cafe (il n'est pas ecrit en java ... dieu merci ) :

    - 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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/05/2006, 10h49
  2. [Mail] Envoyer Un Message A Une Adresse Email
    Par kamga dans le forum Langage
    Réponses: 1
    Dernier message: 28/04/2006, 14h19
  3. [FLASH 8] récuperer dans une BDD une adresse email
    Par iceman2001 dans le forum Flash
    Réponses: 4
    Dernier message: 06/04/2006, 17h39
  4. Vérification syntaxique d'une adresse email
    Par Tchupacabra dans le forum Access
    Réponses: 5
    Dernier message: 14/12/2005, 08h35
  5. (msn) validité d'une adresse email
    Par t26 dans le forum Messagerie instantanée
    Réponses: 2
    Dernier message: 10/09/2005, 13h05

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