Geeklogを全ての人の手に!

ようこそ! Geeklog増殖計画
2008年11月21日(金) 08:25 (JST)

jpmailプラグイン公開

Geeklog -- Plugins

Geeklog-1.4.1ではメールの文字コードがUTF-8になってしまい,サーバーの環境やメーラによっては文字化けするケースが出てきた。特にhotmailでは顕著なようだ。

lib-common.phpのコードを読んでみると,マルチバイト文字を含むメールのヘッダや本文はUTF-8でエンコードされる仕様になっている。ある意味,強引な仕様だ。

この状況を改善すべく文字コードやメールの勉強を始めたが,なかなかややこしい。「t_komuraの日記」を読むと,文字コード変換はPHPのバージョンによって対応の仕方が違うし,「超極める!PHP」の上鍵さんの記事を読むと,日本語のメールを正しく送るのは至難の業であることがよくわかる。さらにこの記事を読むと,PHPと文字コードの関係について自分がいかに無知だったかを思い知らされる。

そんなこんなで自分のようなホビープログラマには荷が重いが,ないよりはましだろうと思って,jpmailプラグインを作成した。GeeklogがUTF-8にエンコードしたヘッダや本文をデコードし,ISO-2022-JPでエンコードするだけなのだが,PHPのmb_detect_encoding()やmb_encode_mimeheader()を使わないで実装するのはかなりややこしい。

結局,エンコーディングの検出はNucleusに含まれているmb_emulatorを使い,行の折りたたみやコメントの処理は「超極める!PHP」の記事を参考にした。

XREA(PHP-5.1.4, MySQL-5.0.22)とノートPC(Windows XP PRO, PHP-5.2.1, MySQL-4.0.18)の環境では動作しているし,hotmail宛でも文字化けしていない。他の環境でもうまく動作すればよいのだが...

タグ:jpmail プラグイン

トラックバック

このエントリのトラックバックURL: http://mystral-kk.net/trackback.php/jpmail

この記事にはトラックバック・コメントがありません。
jpmailプラグイン公開 | 2 件のコメント | アカウント登録
コメントは投稿者の責任においてなされるものであり、サイト管理者は責任を負いません。
jpmailプラグイン公開
投稿者: ゲストユーザー on 2007年6月 7日(木) 16:00 (JST)
とりあえず解凍後インストール。
エラー...jpmailにバグ。
ソースが汚いからほとんど作り直し...
こんなんアップしないでくれ!
作るんならもっとましなものを作って自分だけで使ってくれ