y-matsui::weblog

電子楽器、音楽、コンピュータ、プログラミング、雑感。面倒くさいオヤジの独り言

メール関連のRFC(日本語)

SMTPプロトコルのMessage-IDについて調べた際の参考サイト。

Internet Message FormatMessage-ID//電子ニュース
メール関係 - 日本語化RFC
RFC日本語版リスト
RFC 日本語訳
RFC2821(SMTP)
SMTPコマンドリファレンス

Message-IDを拾って、メール原文のファイル名として保存する際、スラッシュ記号が入っているMessage-Idの扱いをどうしようか困った。(WillcomPHS)
ファイルシステムで禁止されている?、!、/などをいちいちチェックして置換するか、まるごとエンコードして別のファイル名にしてしまうか・・。
結局RFCとしては「スラッシュは使わない方がいいよ。(強く推奨)」と言いながらも「プログラマは、Message-IDの左部分が16文字以内であるとか、スラッシュが使われていないとかを仮定しないほうがいいよ」と相反することを書いていたりする。
「どっちやねん!」
予防的な解釈をするなら、「Message-IDに禁止文字は無い(スペースやタブを含まず、プリントできればOK)」「インターネット上でユニークであることを既定するだけで、どんな文字を使ってもオッケー」っていう言い方になり、「ファイル名としてそのまま使えるかどうかなんか知らんがな」ってこと。
じゃあ、UIDLというPOP受信時のユニークなコードをファイル名にして使えるのかいな?と調べてみると、
「UIDLはRFCでは非標準(事実上は多くのPOPサーバーでサポートされている)だから、UIDLコマンドを使ってユニークなコードを取れなくてもしょうがないよ・・・となっているのである。
「おぃ!メッセージがユニークであることを何かで保障しようよ。頼むよ」である。