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 :

Manipulation d'e-mails


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut Manipulation d'e-mails
    Je souhaite manipuler une boîte mail en php, j'utilise les fonctions IMAP et j'arrive à afficher tous mes mails dans un tableau.

    J'aimerai pouvoir cliquer sur un bouton et afficher le contenu du mail soit dans une nouvelle fenêtre ou en dessous. J'ai déjà réussi à l'afficher mais il doit falloir encore ou je ne sais quoi car j'ai plein de chiffres a la suite...

  2. #2
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    Peut que c'est simplement parce que ton table n'est jamais refermé ???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "</table>";// au lieu de echo "<table>";

  3. #3
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    oups étourderie de ma part

    Mais non cela ne change rien à mon problème

  4. #4
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    Ton code fonctionne parfaitement avec mon serveur imap et mon compte.

    As tu testé le compte en question avec un client imap classique ?

    @+

  5. #5
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    Oui je sais qu'il fonctionne bien mon code

    Il y a juste le bouton "lire" que je n'arrive pas, c-a-d ouvrir le mail en question (son contenu)

  6. #6
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    En fin de compte, peu importe si j'ouvre le contenu du mail avec un lien ou pas...

    j'arrive bien à récupérer le sujet,l'expéditeur etc avec mon code au dessus, mais je n'arrive pas à chopper le contenu même du mail...


    j'ai essayé pas mal de choses comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $body = imap_body($mail, 1, FT_INTERNAL | FT_PEEK);
     
    $text = imap_fetchbody($mail, 1, 1);
    puis faire des "echo" ou des "print" mais rien...

  7. #7
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    Je me suis replongé dans un de mes vieux code d'un mini client imap. Je t'en livre les extraits pour lire un message.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $inbox = imap_open("{localhost:143/notls}INBOX", "login", "pwd")
    	or die("Connexion impossible: " . imap_last_error());
    $header = imap_header($inbox, $index_du_msg);
    $body = imap_body($inbox, $index_du_msg);
    Un bon print_r($hearder) et print_r($body), tu verras la structure.

  8. #8
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    j'arrive maintenant à lire le coprs de mon mail de différentes façons :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo imap_qprint(imap_body($mbox, $nummail));
    echo imap_fetchbody($mbox, $nummail, 1,2);
    echo imap_body($mbox, $nummail FT_PEEK);
    Sauf que tous ces affichages ne respectent pas les sauts de ligne et me collent tout à la suite(certain ont aussi des ligne de chiffres...)

  9. #9
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    Peut être qu'un petit decode_utf8 résoudrait un partie du problème, pour les saut de ligne, si le corps du message est au format text, les sauts de ligne sont représenté par des CR/LF, il faut donc les remplacer par des <br>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $body =  decode_utf8(imap_body($mbox, $nummail FT_PEEK));
    $body = str_replace("\r\n", "<br>", $body);

  10. #10
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    Je test ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $text = decode_utf8($body);
    donne :

    Fatal error: Call to undefined function decode_utf8()
    apparemment cela viendrai de la version de php...

  11. #11
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    Excuse moi, c'est utf8_decode(), l'autre est une fonction perso que j'utilise dans mon objet mail.
    Grave erreur de ma part d'utiliser un nom de fonction qui ressemble trop aux fonctions standards.

  12. #12
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    Merci

    J'ai maintenant bien les sauts de lignes

  13. #13
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    Je n'ai jamais eu ce genre d'entête ??
    Peut qu'un simple preg_replace() pourrait te débarrasser de cela. Ce n'est peut être pas la solution la plus propre, mais elle à le mérite de solutionner ton problème.

  14. #14
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    C'est-à-dire avec le preg replace rechercher tous les chiffres et les mots comme 'content' etc... puis les remplacer ?

  15. #15
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    Ben disons qu'il va recherché une certaine expression '/blabla/' et la remplacée par blibli. Voir la doc de preg_replace.[code]
    Dans ton cas, voici un exemple, mais je suis une bille en expressions regulières
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $a = "--001597f724f5f2b0f3486ee27bb2--
    Content-Type: text/plain; charset=ISO-8860-2
    Content-Transfer-Encoding: quoted-printable
     
    --001597f724f5f2b0f3486ee27bb2--";
     
    echo preg_replace('/--.*--/', '', $a);

  16. #16
    Membre éprouvé Avatar de Shinji62
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 135
    Par défaut
    Citation Envoyé par riete Voir le message
    Ben disons qu'il va recherché une certaine expression '/blabla/' et la remplacée par blibli. Voir la doc de preg_replace.[code]
    Dans ton cas, voici un exemple, mais je suis une bille en expressions regulières
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $a = "--001597f724f5f2b0f3486ee27bb2--
    Content-Type: text/plain; charset=ISO-8860-2
    Content-Transfer-Encoding: quoted-printable
     
    --001597f724f5f2b0f3486ee27bb2--";
     
    echo preg_replace('/--.*--/', '', $a);
    Le -- est la frontière du mail, c'est a dire entre les différents élément du mail , html, image , fichier dans un mail de plusieurs types.

  17. #17
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    Citation Envoyé par Shinji62 Voir le message
    Le -- est la frontière du mail, c'est a dire entre les différents élément du mail , html, image , fichier dans un mail de plusieurs types.
    Je ne connaissais l'application du mot frontière, ceci correspond à délimiteur ?
    En fait, je n'ai fait que répondre à une question précise qui est comment ce séparer de ce texte, il est vrai qu'une interprétation serait meilleur.
    Mais s'il ne s'agit que de réception de message text est utile d'interpréter?

  18. #18
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    Merci

  19. #19
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    N'oublies pas de mettre le flag RESOLU

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

Discussions similaires

  1. [Débutant] Manipulation d'éléments contenus dans un mail reçu
    Par Savak dans le forum VB.NET
    Réponses: 13
    Dernier message: 24/07/2012, 10h36
  2. Scanner des mails et récupérer le fichier attaché
    Par delphim dans le forum Composants VCL
    Réponses: 2
    Dernier message: 24/04/2003, 10h35
  3. Réponses: 2
    Dernier message: 18/01/2003, 18h06
  4. Fonctions de manipulation des chaines et des dates
    Par Fares BELHAOUAS dans le forum Débuter
    Réponses: 3
    Dernier message: 09/11/2002, 23h43
  5. [VB6] [Outlook] Imprimer un mail en VB
    Par der dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 12/09/2002, 15h20

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