Bonjour,

Je souhaite recupérer pour chaque mail de mon gmail le sujet, certaines informations de l'entête.
voilà j'ai utilisé la petite fontion php qui a fait le boulot pour moi.

<?php
    $hostname = '{imap.gmail.com:993/imap/ssl/novalidate-cert}'; 
    $username= 'monmail@gmail.com'; $password = 'monpassword'; 
    $mbox = imap_open($hostname,$username,$password) 
    or die('Cannot connect to Gmail: ' . imap_last_error());

    $MC = imap_check($mbox);
                    $result = imap_fetch_overview($mbox,"1:{$MC->Nmsgs}",0);
                    foreach ($result as $overview) {
                        echo "{$overview->msgno} ({$overview->date}) - From: {$overview->from}
                        {$overview->subject}\n";
                    }
}
imap_close($mbox);
?>

le problème est que parfois au lieu de recupérer l'email de l'expéditeur, c'est son nom uniquement qui est récupéré
pouvez vous m'aider?

9 réponses


Timothee Ngu
Auteur
Réponse acceptée

Voilà, j'ai trouvé la solution, le problème était le fait que l'email se trouvant dans < > était interpreté comme une balise HTML. j'ai utiliser la fonction htmlspecialchars() pour empêcher l'interpretation.

Bonjour,
Essaye de faire un var_dump de ta variable overwiew, peut être que dans certain cas, il y a d'autre information qui s'affiche.

t'as raison voilà ce que mon vardump donne

object(stdClass)[2]
  public 'subject' => string 'Notre RDV' (length=9)
  public 'from' => string '"Nadine Enganbom [ MTN]" <Enganb_N@toto.net>' (length=76)
  public 'to' => string '"toto@gmail.com" <toto@gmail.com>' (length=47)
  public 'date' => string 'Tue, 16 Feb 2016 10:11:52 +0000' (length=31)
  public 'message_id' => string '<a6877beb83e94cbd81d557a17a4fa5dq54@YDEDC1-EXCMncaoon.net>' (length=71)
  public 'size' => int 7978
  public 'uid' => int 5
  public 'msgno' => int 1
  public 'recent' => int 0
  public 'flagged' => int 0
  public 'answered' => int 1
  public 'deleted' => int 0
  public 'seen' => int 1
  public 'draft' => int 0
  public 'udate' => int 145561s7515

comment récupérer?

Re bonjour,

Normalement ca doit fonctionner
{$overview->from}

Doit t'afficher ceci :

'"Naxxxx RRRRR [ MTN]" RRRRRRR_N@mtnnnnneroon.net'

Par contre regarde dans ton code source de ton HTML si vraiment il y a tout.

Par contre : Essaye de cacher les informations de tes mail

Moi non plus, je ne comprends pas pourquoi ca ne marche pas

Je vais faire un test de mon coté je vais reprendre ton code.

D'accord, là je suis en train d'envisager recupérer les données dans un tableau json et voir le comportement

Pas de changement
{"Fom":"Atlassian "}{"Fom":"SendinBlue "}{"Fom":"Facebook "}

Re bonjour,
J'ai essayé de faire le même test, mais mon GMAIL bloque l'accès, je n'ai pas encore trouvé comment l'activer.
Sinon tu as vu ton code source html en sortie, ce qu'il t'affiche.

Dès que je réussie à le configurer pour ceci je vais voir si j'ai le même problème de mon coté.