本文介绍怎样通过PEAR::Mail 的mimeDecode.php 解析收到的邮件(包括附件的处理)
运行该代码需要Pear 的Mail 及Mail_MIME 包
<?php
require_once("PEAR.php");
require_once ("Mail/mimeDecode.php");
$params['include_bodies'] = true;
$params['decode_bodies'] = true;
$params['decode_headers'] = true;
$mailHandle = fopen($filename, "r");
$contents = fread($mailHandle, filesize ($filename));
fclose($mailHandle);
$decoder = new Mail_mimeDecode($contents);
$mail = $decoder->decode($params);
//获取 header
$header = $mail->headers;
// 获取 to 和 from
$header['to'] = preg_replace("/.*<(\S+)>.*/","", $header['to']);
$header['from'] = preg_replace("/.*<(\S+)>.*/","", $header['from']);
//判断是否是 muiltipart E-mail
if ($mail->ctype_primary == 'multipart' || count($mail->parts) > 1)
{
echo("TRUE");
}
// 判断是否是图片
if (!eregi("text", $contenttype))
{
$imageBody = $parts->body;
$imageHandle = fopen($imagePath, 'wb');
fwrite($imageHandle, $imageBody);
fclose($imageHandle);
}
?>


