※※ 訂正あり 2006/09/12 ※※
Sylpheedで私にとっては かなり重要なバグを見つけてしまった。
※※ 訂正 2006/09/12 ※※
ここで書いた"バグ"とは、実はSylpheedのほうではなく、文字化けが発生した側のメールソフトのバグだということが判った。
表題の「かなり重要なバグ(Sylpheed)」は「かなり重要なバグ(SylpheedからのPGP署名を受信するMUA)」ということになる。(ちょっと苦しいか)
SylpheedはPGP署名時にはMIMEパートのコンテントヘッダに「Content-Transfer-Encoding: 7bit」ではなくて「Content-Transfer-Encoding: quoted-printable」を採用していて quoted-printableの決まりで76桁で改行している。
これは「Qエンコード」とも呼ばれる方式で、quoted-printableのほうがPGP処理には推奨するというアナウンスは有るが、ISO-2022-JPを扱う日本でのPGP処理ではquoted-printableは面倒なので ほとんど使われていないらしい。
文字化けや本文パートを表示できなかったメールソフトは、quoted-printableの行継続処理に不具合があるか、PGP処理がquoted-printableに対応していないか、のどちらかということになる。
不具合を確認したのは
Eudora 6, 7 (文字化け)
Outlook Express (本文を表示しない)
Thunderbirdのソース表示機能 (文字化け)
正しく表示することを確認したのは (正しく返信できるかどうかは未確認)
QMAIL3
Becky!2
互いに引用しながら返信しあって処理を確認したのは
Sylpheed と Thunderbird+Enigmail との間
不具合を確認したメールソフトが引用や転送で間に入ると引用部は文字化けしたまま引き継がれることになる。
(上記、確認は実験用メーリングリスト上のみ)
以下の文章はこのまま残しておくことにするが、GPGrelayの不具合はISO-2022-JPエンコードである。(念のため)
----------------------------------------
format=flowedのメールを引用して返信するような引用文の自動整形や入力中の自動整形という 非常に便利な機能がある。
それが平文の時には問題なく使えるがPGP署名時にはJIS変換後の文字列の途中に余計な改行が挿入されてしまい、受信側のMUAによっては文字化けが発生してしまう。
この二つの自動整形を使用しないように設定しても引用部分には勝手に改行が挿入されてしまう。(これは別のバグか)
これはMUAで自動改行の設定を行っているときに、PGP暗号テキストに余計な改行が挿入されるバグの現象と似たようなもの。
また、GPGrelayで日本語ファイル名の添付を行ったときのバグと同じだ。3文字以上(だったか?)で勝手に改行されて受信側でファイル名をデコード出来なくなるのと同じ。
引用文が無い場合は改行文字数を50ぐらいにすると回避できるが、引用文が有れば回避できない。
ということで、PGP処理では自動整形が使えないし、引用文が有ったときはぜんぜんダメ。相手側から文字化けのクレームが来たらSylpheedの使用を諦めるしかない。
しかも、相手が引用して第三者に転送した場合には そのままの形で転送されるので第三者のところで文字化けが発生することになる。そうなると第三者のクレームで相手に迷惑をかけることになる。
ちょっと危ないかも。
これの一番の問題点は、Bccで自分自身に送信してもSylpheedで受信した場合には、この現象が発生していることに気付かない点だ。(Sylpheedのソース表示でも なかなか気付かない)
私も、Thunderbirdでのソース表示でデコードしているはずなのに文字化けして日本語表示になっていないことで初めて気がついた。


この問題はSylpheedのほうでエンコードを変更していただいて、バージョン2.2.9で解決している。
あくまでもSylpheed側の好意による対応であることを記しておく。