From: "akira yamada / やまだあきら" Date: 1997-10-20T04:52:42+09:00 Subject: [ruby-list:5053] Re: mail address class Sun, 19 Oct 97 01:25:16 +0900 頃の Mail-Count: 05047 Subject: [ruby-list:5047] Re: mail address class についてのお話にて Shugo Maeda さん曰く… (S == shugo@po.aianet.ne.jp (Shugo Maeda) さん) |やまだあきらです. 風邪気味でボーッとしてます. In article 05047, <199710181617.QAA05847@soleil.aianet.ne.jp> S> 最近風邪が流行ってるみたいですね。 そうなんです, 流行ってるんです. 某うちの職場… |あと, mime.rb をつらつらと眺めていて |structured field のデリミタで分割できると |あとあと嬉しそうだよなあと思いましたので |そのように RFC822.rb に改造を加えてみました. S> えっと,これはどの部分なのでしょう。 これまた RFC を読んでいないのですが 例えば Content-Type: text/plain; foo=\;; bar=" ; " みたいのは 許されるのでしょうか? …とか言う話です. でもって, この辺りの解析が前述の改造によって 辺になってしまっていたので改修 & テスト中です(^_^;;) |あと, MIME-Version: は特に見なくてもよいのでしょうか? S> たぶん今のところ特に見なくても問題ないと思います。 S> 参照したい時はmsg.header["Mime-version"]とすればよいかなと。 というか, message body が MIME なものかどうかの スイッチが MIME-Version: の有無になるとか言う話を どこかで聞いたような *気* がしたのです. これまたいい加減な話ですいません. # やっぱ RFC はちゃんと読まにゃならんか. # RFC822, RFC204x は考えただけできが遠くなるなぁ. |そろそろ body についての扱いも入れなくては > RFC822 S> もしそうなるのでしたら,initializeを S> S> def initialize(f) S> parseheader(f) S> parsebody(f) S> end S> S> みたいに分けていただけると,ありがたいです。 そうですね. initialize の中でだらだらこねくり回すものでもないですよね. ちゃんと考えねば. |# ある程度のサイズ以上の body については |# 一時ファイル作るとかしたいような. S> たいていの場合はそこまでしなくても大丈夫ではないでしょうか。 とは思うものの, この手のものが使われる (と言うよりも使おうと思っている)場面は 自動 reply などの自動処理や ML サーバとかでだろう などと考えるわけで S> でも,5MBのメールの話とか聞くと恐くなりますね(^^; なんて話をまるっきり無視もできないんですよね. ま, 数 MB 程度なら今時どうと言うことはないのでしょうが. # しかし数 MB のメールが数通でも数十 MB ですからねぇ. |これをみると Subject: ヘッダでのソートや |MIMEMessage < RFC822 なクラスへのパターンマッチングが |できるようになっていると嬉しい感じがしますね. S> sortをイテレータとして使えば,たいてい事足りるので,<=>は おぉ, なるほど. そういうものなのですね. いやぁ, すごいなぁ > ruby S> message/partialについては順番通りにbodyを連結してMIMEMessage S> のコンストラクタに渡せば,うまく復元されることを確認できました。 S> 以下のようなスクリプトで試したところ,multipart/signedパートを S> うまく検証できました。 おぉ, すごいですね(^_^) なんだかいろいろ可能性が見えてきて楽しいっす. ruby な ML サーバも夢じゃないかも. S> それとmultipart/signedなパートを検証するのにヘッダの元の情報が S> 必要なので添付するパッチを採用していただけないでしょうか? はい, 了解です. # multipart/signed とくれば今度は signcontrol 形式かな? -- やまだ あきら (akira@linux.or.jp or akira@nurs.or.jp) Linux 関連ページ