MAD さんが書きました:
kiyo4_k さんが書きました:
そのページじゃなくて
http://www.mew.org/~kazu/doc/newsletter/3.html こっちです。
上で示したページの「ヘッダの国際化」という小見出しの中の記事に「文字コードには charset パラメータと同じ値を用います。」と書いています。これが違っているとメールリーダは混乱してしまいます。
それは、指定した文字コードと実際の文字コードが違う場合の話ですね。
私は初めから件名と本文が異なる文字コードの場合の話をしています。
いいえ、件名と本文が異なる文字コードというのはダメだという話しです。
MAD さんが書きました:
最初の投稿でそのように読めたので。つまり以下のような場合です。
コード:
Subject: =?iso-2022-jp?B?GyRCN29MPiVGJTklSBsoQg==?=
Content-Type: Text/Plain; charset="shift_jis"
Content-Transfer-Encoding: base64
lnuVtoNlg1iDZw0K
これは、それぞれ指定した文字コードと実際の文字コードは一致しているので、件名も本文も同時に正常に表示されなければならないと思います。
この例の場合はcharset="shift_jis"としていながらSubject:がISO-2022-JPとしているので実装が間違っていると思います。それを受信側のMUAはcharset="shift_jis"とみなしてデコードしようとして失敗しても無罪だと思います。
そのことの説明が先の和さんの文章では「文字コードには charset パラメータと同じ値を用います。」とだけ書いています。
つまり上の例ではcharsetパラメータは"shift_jis"なのでSubject: =?iso-2022-jp?というのは間違っています。
こういうヘッダと本文部が異なるエンコードを行っているMUAの尻拭いを出来るMUAは少ないと思います。
が、そんな便利なMUAの作者に限ってMIMEの規約をよく知らなかったりしました。規約を無視するからこそ そんな便利なものを作れるとも言えそうです。
今回のオオカミ中年さんの場合はContent-Type: text/plain; charset="iso-2022-jp" と言うことなので送信時のSubject部分は正しいのに本文部を間違ってsjisで送信してしまっているという問題ですが上の例とはちょっと違いますね。
MADさんの例も、オオカミ中年さんの問題も、最近ではMUAというより専用メーラーやWebからの配信メールが多いですが、これらの実装者がMIME規約を知らないというのが理由でしょう。
で、オオカミ中年さんも心配されましたし、meeyarさんから運用での回避方法の情報も得られていました。
ここのフォーラムでThunderbirdでの実装に関係なくRFCやMIMEの話を掘り下げても仕方が無いし、トピックが長くなりすぎるのでこの辺にしておきたいと思います。
他に何かあれば雑談フォーラムのほうで目につきやすい件名を付けて投稿してください。