PEARマニュアル日本語版 Mail_Mime
メール添付ファイルデコード
http://ns1.php.gr.jp/pipermail/php-users/2003-July/017157.html
http://ns1.php.gr.jp/pipermail/php-users/2002-October/010814.html
include_once("mimeDecode.php");
// メールパース
$params['include_bodies'] = TRUE;
$params['decode_bodies'] = TRUE;
$params['decode_headers'] = TRUE;
$params['input'] = $mail_text;
$params['crlf'] = "\n";
$structure = Mail_mimeDecode::decode($params);
//var_dump($structure);
// ヘッダ取得
$headers = @(array)$structure->headers;
// Subject取得
$subject = mb_convert_encoding($headers["subject"], "EUC-JP","JIS,UTF-8,SJIS,EUC-JP");
if (!empty($structure->parts)) {
// マルチパートメール処理
for ($i = 0; $i < count($structure->parts); $i++) {
$parts = $structure->parts[$i];
$contenttype = $parts->ctype_primary ."/". $parts->ctype_secondary;
$contentfilename = $parts->d_parameters["filename"];
if(eregi("text",$contenttype)){
$part_body = mb_convert_encoding($parts->body, "EUC-JP","EUC-JP,JIS,UTF-8,SJIS");
} else {
$part_body = mb_convert_encoding($parts->body, "BASE64","PASS");
}
//ここに処理
}
} elseif (isset($structure->body)) {
// シングルパート時
$body = mb_convert_encoding($structure->body, "EUC-JP","EUC-JP,JIS,UTF-8,SJIS");
//ここに処理
}