May 02, 2008
mail - attachment file
日本語名のファイルを添付するときのヘッダ。
RFC2231に準拠するとOutlookが駄目なようなので、シェアを考慮すると準拠できない。Docomoのメールアドレスと同じ類の問題。
$format = <<<FORMAT
Content-Disposition: attachment; filename="%1\$s"
Content-Transfer-Encoding: %2\$s
Content-Type: %3$s; name="%1\$s"
FORMAT;
$fileName = mb_encode_mimeheader("日本語.gif", "ISO-2022-JP", "UTF-8");
$header = sprintf($format, $fileName, "base64", "image/gif");
ちなみにこのエンコードされたファイル名はRFC2231に準拠していない。が、確認したところで、WindowsのOutlook Express・Window/LinuxのThunderbird・MacOSXのMail・Gmailで正しく扱うことができる。RFC2231に準拠するとOutlookが駄目なようなので、シェアを考慮すると準拠できない。Docomoのメールアドレスと同じ類の問題。