Bonjour je déambule, je ZIGZAG perdu ...
Avec PHP et dans le but de l'afficher sur une page web, je cherche à récupérer dans le dernier message d'une boite mail une image JPG.
J 'ai déjà un code qui fonctionne avec une certaine structure de message.
Je ne comprend pas , pouvez vous m'aider ?!
Le message dans lequel il y à le JPG :
Je vous donne aussi le code PHP que j'ai :
Un grand merci !!
Avec PHP et dans le but de l'afficher sur une page web, je cherche à récupérer dans le dernier message d'une boite mail une image JPG.
J 'ai déjà un code qui fonctionne avec une certaine structure de message.
Je ne comprend pas , pouvez vous m'aider ?!
Le message dans lequel il y à le JPG :
Return-Path: <blabla@blabla.com>
Delivered-To: <blabla@blabla.com>
Received: from exim-proxy-dc2-2.online.net ([10.41.2.92])
by exim-backend-21.online.net (Dovecot) with LMTP id IkQLLJQyxVnUIAAAge5GdQ
for <blabla@blabla.com>; Fri, 22 Sep 2017 17:58:29 +0200
Received: from [10.41.2.137] (helo=smtp.smtpout.orange.fr)
by exim-proxy-dc2-2.online.net with esmtp (Exim 4.86_2)
(envelope-from <blabla@blabla.com>)
id 1dvQLV-0004B5-C7
for blabla@blabla.com; Fri, 22 Sep 2017 17:58:29 +0200
Received: from smtp.smtpout.orange.fr ([80.12.242.126])
by mx-vit.online.net (MXproxy) for blabla@blabla.com ;
Fri, 22 Sep 2017 17:58:29 +0200 (CEST)
X-ProXaD-SC: state=HAM score=49
Received: from CAM000 ([10.162.66.33])
by mwinf5d07 with ME
id CfxU1w00c0j3Q9m03fxXkk; Fri, 22 Sep 2017 17:58:29 +0200
X-ME-Helo: CAM000
X-ME-Auth: c2VycmUtY2hlLWVhdXgtdml2ZXMxQG9yYW5nZS5mcg==
X-ME-Date: Fri, 22 Sep 2017 17:58:29 +0200
X-ME-IP: 10.162.66.33
Message-ID: <3ceabe91ed915f2ae68eaacdf0f42195@mwinf5d07.me-wanadoo.net>
From: "CAM000" <blabla@blabla.com>
To: <blabla@blabla.com>
Subject: 22/09/2017 17:53:56
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="===Quectel_000_0013_01CA1D99.17A48460==="
X-online-proxy-in: FLEX_R0FVczRHR0k4a3k2czRFMA==cPvuIpiJsq/n9XKVtRtD52JfLjl1ZfZBr3q2TWKJ
X-online-to: blabla@blabla.com
X-original-for: blabla@blabla.com
This is a multi-part message in MIME format.
--===Quectel_000_0013_01CA1D99.17A48460===
Content-Type: text/plain;
charset="utf-8"
Content-Transfer-Encoding: 7bit
22/09/2017 17:53:57
--===Quectel_000_0013_01CA1D99.17A48460===
Content-Type: application/octet-stream;
name="0017.JPG"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="0017.JPG"
/9j/2wCEAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIx
........
--===Quectel_000_0013_01CA1D99.17A48460===--
Je vous donne aussi le code PHP que j'ai :
/* Identifiants */
$hostname = '{pop.online.net:110/pop3}INBOX';
$username = 'user';
$password = 'pass';
/* Connexion à la boîte email */
$inbox = imap_open($hostname,$username,$password, null, 1);
/* Récupération de la liste d'email */
$emails = imap_search($inbox,'ALL');
/* Si il y a des emails... */
if($emails) {
/* Récupération de l'id du dernier email */
$email = end($emails);
/* Récupération de la structure de l'email */
$structures = imap_fetchstructure($inbox, $email)->parts;
$img = null;
/* Boucle sur les différente partie de l'email */
foreach ($structures as $key => $structure) {
/* On vérifie que c'est bien une image (type = 5) et que c'est un fichier attaché (disposition = attachment) */
if ($structure->type === 5 && $structure->disposition === 'ATTACHMENT') {
/* On récupère le contenu de l'image et on le décode (base64_decode) ainsi que son type (jpg, png, gif ...) */
$body = imap_fetchbody($inbox, $email, $key+1);
$img = array(
'type' => 'image/'.strtolower($structure->subtype),
'body' => base64_decode($body)
);
}
}
/* Si on a bien récupéré une image, alors on l'affiche */
if (!empty($img)) {
header('Content-type: '.$img['type']);
print $img['body'];
}
}
/* On ferme la connexion */
imap_close($inbox);
Un grand merci !!