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] MAIL_RFC822 de librairie PEAR est perdu?


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 200
    Par défaut [Mail] MAIL_RFC822 de librairie PEAR est perdu?
    Bonjour
    (suite de ce post)

    j'ai quand même un souci de connexion à la librairie voici le message :
    Warning: main(Mail/RFC822.php): failed to open stream: No such file or directory in c:\program files\easyphp1-8\www\.....
    apparemment c'est le dossier MAil qui n'existe pas, mais où le trouver? où le placer? je sèche!
    voici le script pour ceux qui voudront bien me filer un piti coup de main

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
     
    <body bgcolor="white">
    <?php
    set_include_path(get_include_path() . ";c:\Program Files\EasyPHP1-8/php\pear");
    ?>
     
    <form action="test_email.php" method="post">
    <input type="submit" value="Valider cet email">
    <input type="text" name="email" value="">
    </form>
     
    <?php
    $mail = $_POST['email'];
     
    require 'PEAR.php'; //Appel de la librairie PEAR  ../../php/pear/PEAR/
    require 'Mail/RFC822.php'; //Appel de la librairie Mail_RFC822
     
    $lo_mail = Mail_RFC822::parseAddressList($mail, NULL, FALSE);
     
    if(PEAR::isError($lo_mail)){
        //$lo_mail est une erreur
        //l'adresse e-mail n'est donc pas valide
        echo $mail.'n\'est pas une adresse e-mail valide';
        die();
    } elseif ($lo_mail[0]->host=='localhost'){
        //le nom de domaine de cette adresse est localhost 
        //dans cet exemple on refuse ce genre de mail !
        echo $mail.'n\'est pas une adresse valide';
        die();
    } else {
        echo $mail.' est une adresse e-mail SYNTAXIQUEMENT valide';
    }
     
    //$lo_mail contient l'adresse e-mail stockée dans un tableau
     
    ?>
     
    </body>
    </html> 
     
     
     
    <?php
     
    /*
    Voici le contenu de $lo_mail
    Array
    (
        [0] => stdClass Object
            (
                [personal] => 
                [comment] => Array
                    (
                    )
    
                [mailbox] => john.doe
                [host] => example.org
            )
    
    )*/
     
    $ls_domaine=$lo_mail[0]->host;
     
    //$ls_domaine contient example.org
     
    ?>
     
     
    <?php
     
    //Rappel : La valeur ci dessous a normalement été initialisée dans la partie 2 du script
    $ls_domaine = 'developpez.com';
     
    //Inscrivez dans ce tableau les serveurs de noms de votre FAI.
    $la_serveur_de_nom=array(
        '212.27.32.5',      //Adresse IP du serveur de noms primaire de mon FAI (Free)
        '212.27.32.176',    //Adresse IP du serveur de noms secondaire de mon FAI (Free)
        '212.27.32.177'     //Adresse IP du serveur de noms tertiaire de mon FAI (Free)
    );
     
    //Appel de la bibliothèque PEAR : Net DNS
    require_once 'Net/DNS.php';
     
    //Les fonctions ne peuvent pas s'appeler de façon statitique cette fois
    //On crée donc une instance de classe Net_DNS_Resolver
    $lo_resolver = new Net_DNS_Resolver();
     
    //Décommentez cette ligne pour afficher le debuggage
    //$lo_resolver->debug=1;
     
    //On précise nos noms de serveurs
    $lo_resolver->nameservers=$la_serveur_de_nom;
     
    //On lance une requête, on précise MX pour identifier un éventuel serveur de mail
    $lo_response = $lo_resolver->query($ls_domaine,'MX');
     
    //on teste la réponse
    if ($lo_response) {
      foreach ($lo_response->answer as $lo_rr) {
        //On affiche le résultat pour l'exemple, mais c'est inutile dans l'aboslu
        $lo_rr->display();
        echo "Nom de serveur de mail $ls_domaine valide";
      }
    } else {
        echo "Nom de serveur de mail $ls_domaine inconnu";
    }
    ?>
     
    <form action="test_email.php" method="post">
    <input type="submit" value="Valider cet email">
    <input type="text" name="email" value="">
    </form>
    merci bien d'avance

  2. #2
    Membre expérimenté Avatar de daniel61
    Inscrit en
    Décembre 2006
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 139

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 200
    Par défaut
    salut
    je dois etre à coté de la plaque ou alors je suis attardé mais je ne vois pas où mettre le script correspondant à http://pear.php.net/package/Mail/doc...il_RFC822.html

    désolé si ma question vous parait stupide mais l'angalis je le lis assez mal
    je n'avance pas sur ce sujet et c'est assez frustrant.

    merci bien

  4. #4
    Membre expérimenté Avatar de daniel61
    Inscrit en
    Décembre 2006
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 139
    Par défaut
    easyphp utilise php5 ou php4 ?

    normalement dans le répertoire
    c:\Program Files\EasyPHP1-8\php\pear\mail\

    RFC822.php en document joint
    Fichiers attachés Fichiers attachés

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 200
    Par défaut
    oui ça marche bien comme ça!
    merci de vos réponses
    sujet reglé

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

Discussions similaires

  1. La librairie Java3D est-elle cross-platform ?
    Par black is beautiful dans le forum 3D
    Réponses: 0
    Dernier message: 19/04/2010, 13h38
  2. Réponses: 4
    Dernier message: 14/03/2007, 15h13
  3. aidez un étudiant qui est perdu
    Par bcaro dans le forum C++
    Réponses: 1
    Dernier message: 21/01/2007, 03h31

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