[mew-dist 21409] 嗚呼 IMAP
Kazu Yamamoto ( 山本和彦 )
kazu at example.com
2002年 8月 13日 (火) 16:33:57 JST
IIJ 技術研究所で議論された IMAP メモです。
間違いの指摘、項目の追加、歓迎。
--かず
IMAP がダメダメな N つの理由
(1) メールを扱う単位がバイト数
- UA は read() できると仮定している。入力ライブラリによって、
行末が変換されることなんて考えてない
- 文字コードには状態がないと仮定
(2) メールの MOVE がない (COPY + Delete[STORE + EXPUNGE] である)
- COPY が失敗しても、間違って Delete しちゃうかも
- ディスクの残りの容量が少ないと、COPY + Delete できない
(3) メールをリンクできない
- 複数のメールボックスへ COPY すると実体が複数できてしまう
(4) UID がメールボックスに一意 (サーバで一意ではない)
- メールのキャッシュを前提としているのに、オリジナルがメールボッ
クスを移動すると、UID は無意味になりキャッシュが無効になる
(5) メールボックスの名前空間が曖昧
- メールボックスの区切り文字が自由
- メールボックス名の長さの規定がない
* ある UA で長い名前のメールボックスを作ると、別の UA
で扱えないかも
- INBOX は、名前空間のどこに位置するのか曖昧
(6) いくつかのコマンドは、複数のメールを指定可能なのに、応答は OK か NG
しかない。
- それぞれのメールに対して、成功なのか失敗なのかよく分らない
(7) サーバは、非同期に "*" で始まる応答を返せる
- なんでも返すことが可能なので、ある応答を仮定した UA を作りた
くなっちゃう。よって、このサーバにはこの UA を使えといった依
存関係が生まれる。
(8) どうせ、非同期コマンドなんて使えないのに、使えるふりをしている
疑問:
* select しているメールボックスは rename できるの?
Mew-dist メーリングリストの案内