なぜかimap_headerinfo()の戻り値にはContent-Typeが含まれないので、
直に取得する力技で解決。

When you try to get charset of a mail on IMAP, imap_headerinfo() doesn’t include ‘Content-Type’ in the return value.
Below is a function to get type of charset from a mail header directly by calling imap_fetchheader.


<?

/**

@context IMAPハンドル

@number  メールのID

@defcharset 失敗した時に返すデフォルトの文字セット名

@return 文字セット名

*/

function imap_getcharset($context, $number, $defcharset = "iso-2022-jp")

{

    

    
// Get charset

    
$h = imap_fetchheader($context, $number);

    
$mc = preg_match("/charsets*=s*(.+?)[;\n]/s", $h, $m);

    
$charset = $m[1] ? strtolower(trim($m[1])) : $defcharset;

    

}

?>

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

return
odoruinu.net, softwares, drawings & photography by noradaiko.
all copyright(C) 2008 noradaiko.