[mew-dist 21297] "x" for IMAP

Kazu Yamamoto ( 山本和彦 ) kazu at example.com
2002年 7月 30日 (火) 00:00:58 JST


今まで、IMAP に対する "x" や "I" は、そのフォルダのすべての UID の一覧
を作り、対象となるメールが存在するか確認していました。

この確認はほとんど無駄であるという結論に至ったので、確認しないようにし
ました。

メールを消す場合は、対象のメールをグループ化するので、上記のハックと合
わせて、とっても高速です。たとえば、10000 通のメールを消すのも、現在の
コードでは一瞬です。

refile のグループ化も、明日やります。

P.S.

存在しないメールに対し、COPY や STORE コマンドを使うと、エラーを返す
IMAP サーバがあるかもしれません。(仕様では、何ら定められていません。は
い。)

たとえば、Cyrus だと、通り番号で指定するとエラーになるのに、UID だとエ
ラーになりません。

Mew は、存在しないメールに対し、COPY や STORE してもエラーにならないこ
とを期待しています。(そうじゃないと、IMAP の仕様は矛盾だらけだ。)

もし、現在の Mew で IMAP の "x" がうまく動かなくなった場合は、
mew-imap-skip-uidl を nil にして下さい。これで、メールの存在を確認する
昔のコードを使うようになります。こういうサーバに出会ったら、そのサーバ
の名前とバージョンを教えて下さい。

--かず



Mew-dist メーリングリストの案内