Recuperer l'entête de tous mes mails PHP IMAP

Par Timothee Ngu, il y a 9 ans


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

Diabolus, il y a 9 ans

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.

Timothee Ngu, il y a 9 ans

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?

Diabolus, il y a 9 ans

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

Timothee Ngu, il y a 9 ans

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

Diabolus, il y a 9 ans

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

Timothee Ngu, il y a 9 ans

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

Timothee Ngu, il y a 9 ans

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

Timothee Ngu, il y a 9 ans

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.

Diabolus, il y a 9 ans

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é.