[mew-dist 22848] Re: Message-Id と MIME encode について
Shuhei KOBAYASHI
shuhei at example.com
2003年 1月 11日 (土) 19:31:31 JST
;; 87=91 です(w
結局のところ Mew は RFC822, RFC2047 の基本的な所がしっかりしていないので
こんな問題が起こるのですね. いや, かずさんの理解が正しいかと Mew の code
が正しいかは別の問題で, Mew の parser/decoder は今から眺めるところですが.
RFC2047 は
まず従来の RFC822 に従って構文解析し,
その結果のうち特定の部分(comment と phrase)について各要素を調べて
encoded-word の形をしていたら decode する. (structured field の場合)
という処理を前提としています.
RFC2047, 6.1. "Recognition of 'encoded-word's in message headers":
| A mail reader must parse the message and body part headers according
| to the rules in RFC 822 to correctly recognize 'encoded-word's.
これが基本.
;; 基本ではあるけれど, 実装するのはそんなに容易ではないというのには同意.
;; 基本ではあるけれど, あまり理解されていないのも ietf-822 を見れば...
これがちゃんと理解できていれば
Kazu Yamamoto (山本和彦) <kazu at example.com> writes:
> RFC 2047 には、
> + An 'encoded-word' MUST NOT appear in any portion of an 'addr-spec'.
> と書いてあります。
>
> RFC 822 には
> msg-id = "<" addr-spec ">" ; Unique message id
> とあります。
>
> 両者より、Message-ID: には encoded-word を使ってはいけません。
この結論が正しいとしても, この規則が余計な制限になると気付きませんか?
たとえ msg-id に encoded-word に相当する文字列が含まれていたとしても
msg-id は「特定の部分」ではないので decoder が認識することはない, と.
;; 送信側で何が起きていたとしても, 受信側にとってそれは encoded-word
;; の形をした単なる US-ASCII の並びに過ぎない.
RFC2047 が「encoded-word」と「'encoded-word'」を使い分けている事に注意
して読み直してみてください.
> + An 'encoded-word' MUST NOT appear in any portion of an 'addr-spec'.
は
+ 'addr-spec' (という ABNF の規則)の各要素の中に 'encoded-word'
(という ABNF の規則)が現れてはいけない.
と読みます.
--
Shuhei KOBAYASHI
Mew-dist メーリングリストの案内