Etch の PHP4 での問題 (mb_send_mail関数のSubjectの文字化け)

Sarge から Etch にアップグレードした際、 PHP4は 4.3 から 4.4 へと変わった。その際、mb_send_mail 関数でメールを送ると Subject が文字化けすることが分かった。先人が(1年半も前に!)おなじ障害にあっていることが分かった。

http://nucleus.mochy.com/item/182

PHP4.4.2がリリースされ、この問題は解決しています。(2006/1/15追記)

とのことだが、Debian ではまだのようだね。mb_encode_mimeheader と言う関数が内部で使われていて、こいつの改行処理にバグがあるようだ。

http://kaede.to/~canada/doc/mb_send_mail-and-b-encoding

というか仕様が変わってしまったので、subject のエンコード処理を外す必要がある、つまりプログラムに手を加える必要がある。まだPHP 4.3 なサーバーもあるので困った。mail 関数は、そういった副作用はないみたいなので、mb_send_mail関数は捨てて、こっちに切り替えることにする・・・。もちろん、ヘッダーは自前でエンコードしてやる必要がある。

このへんも、参考になりそう。
http://hain.jp/index.php/tech-j/2007/02/13/p125