[mew-dist 28677] Re: 重複しているMultipart/Mixed
Kazu Yamamoto ( 山本和彦 )
kazu at example.com
2008年 10月 31日 (金) 10:44:11 JST
山本です。
> > できるとすると、外側のメールの最後の境界を探す前に、内側のメールを解析
> > しているんですね。きっと。それで、すべての場合にうまくいくのかなぁ。。。
>
> 素人考えでは、再帰的に処理をすればいいんじゃないの、と考えてしまいます
> が、すべての場合を網羅できるかどうかはさっぱり。
MIME の文法は、再帰下降パーサーが扱える文法規則の範囲に入っています。一
方、この種の壊れたメールが、その範囲に入っているのか、もう少し考えてみ
ないと分りません。
入っていない場合、一般論として、手で作ったパーサーで扱うのは現実的では
なく、YACC などを使う必要があります。
時間が取れたら、Haskell の Parsec で MIME パーサーを実装して検証してみ
ます。(try が出てきたらアウトです。)
入っていない場合の解決案としては、"," で本文全体をローカルの文字コード
に変換して表示することでしょうか。今は、"," もエラーを起こしています。
> あるいは、最後の境界を後ろから探すようにするとか?
いえ、全然ダメです。。。
--かず
Mew-dist メーリングリストの案内