携帯向けのメールを送信する必要があり、Shift-JIS を Base64 エンコーディングでうまく送信出来た。
しかし、ある環境で不正なヘッダとなってしまった。
ネットで色々調べると、qmailの場合に上記の現象が発生する場合があることが判明した。
対策としては以下の2点。
(1) メールヘッダーの改行コードを LF とする。
(2) Base64エンコーディング後のchunk_splitの改行コードを LF とする。
(2) のサンプルは以下の通り。
$send_message = chumk_split( mb_convert_encoding( $message, 'SJIS-win' ), 76, "n" ) ;
本当は qmail がよろしくないんですが、それは IE がよろしくないと言っているようなものだ。
普及してしまっているソフトウェアには対応せざるを得ない。
対応しなければ、趣味レベルと言われても仕方がないのだ。