May 02, 2008

mail - attachment file

日本語名のファイルを添付するときのヘッダ。
$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のメールアドレスと同じ類の問題。


トラックバックURL

コメントする

名前:
URL:
  情報を記憶: 評価:  顔   星
 
 
 
Sabel

Sabel PHP Frameworkを開発しています。
http://www.sabel.jp/

Search
Categories
Tags
Recent Articles
Archives