note 47480 added to ref.imap

From: Date: Wed, 17 Nov 2004 18:42:09 +0000
Subject: note 47480 added to ref.imap
Groups: php.notes 
Request: Send a blank email to php-notes+get-80649@lists.php.net to get a copy of this message
Here's a function to create a full structure with decoded bodies. Usefull for handeling complex MIME messages. // Construction de la structure du message $struct = imap_fetchstructure($mbox, $mnum); // Recherche des body et décodage de la structure buildparts($mbox, $mnum, $struct); function buildparts ($mbox, $mnum, &$struct, $pno = "") { switch ($struct->type) { case 1: // multipart // Recherche des sous partie $i = 1; while (list($j) = each ($struct->parts)) buildparts ($mbox, $mnum, $struct->parts[$j], $pno . "." . $i++); break; case 2: // message // Décodage de la sous partie (et de ses sous parties) buildparts ($mbox, $mnum, $struct->parts[0], $pno); break; default: $part = substr ($pno, 1); // On save le part_number $struct->part_number = $part; // On fetch le body de la partie $struct->body = imap_fetchbody($mbox, $mnum, $part); // On le décode if($struct->encoding == 3) $struct->body = imap_base64($struct->body); elseif($struct->encoding == 4) $struct->body = imap_qprint($struct->body); // On décode les charset if ($struct->paraneters[0]->attribute == "CHARSET") { $charset = $struct->paraneters[0]->value; if ($charset == "utf-8") $struct->body = utf8_decode($struct->body); if ($charset == "utf-7") $struct->body = imap_utf7_decode($struct->body); } break; } } ---- Manual Page -- http://www.php.net/manual/en/ref.imap.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+47480 Delete -- http://master.php.net/manage/user-notes.php?action=delete+47480&report=yes Reason: bad code -- http://master.php.net/manage/user-notes.php?action=delete+47480&report=yes&reason=bad+code Reason: spam -- http://master.php.net/manage/user-notes.php?action=delete+47480&report=yes&reason=spam Reason: useless example -- http://master.php.net/manage/user-notes.php?action=delete+47480&report=yes&reason=useless+example Reason: contains commercial links -- http://master.php.net/manage/user-notes.php?action=delete+47480&report=yes&reason=contains+commercial+links Reason: useless note -- http://master.php.net/manage/user-notes.php?action=delete+47480&report=yes&reason=useless+note Reject -- http://master.php.net/manage/user-notes.php?action=reject+47480&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#80649) next »