note 47480 rejected from ref.imap by boo

From: Date: Tue, 29 Nov 2005 00:33:05 +0000
Subject: note 47480 rejected from ref.imap by boo
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-99268@lists.php.net to get a copy of this message
Note Submitter: sirber at gmail dot com ---- 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; } }

« previous php.notes (#99268) next »