[mew-dist 23790] IMAP namespace (resolved finally!)
Kazu Yamamoto ( 山本和彦 )
kazu at example.com
2003年 6月 24日 (火) 20:07:04 JST
IMAP の名前空間問題ですが、ようやく解決しました。
################
IMAP のフォルダ空間には、2 種類あります。
1) 個人中心型 (WU)
通常は、個人のフォルダ空間が見えます。なので、"foo" のように、"inbox."
の付かないフォルダ名を使えます。
他のフォルダ空間を参照する場合は、予約文字 "#" を使います。
例:"#shared.foo"
全体の例:
自分: foo
他人: #alice.foo
共有: #shared.foo
2) 完全階層型 (Cyrus, Courier)
すべてのフォルダ名が見えています。自分のフォルダ空間を参照するには、
"inbox." を付ける必要があります。その他のフォルダ空間も、頭に特定する
パスを指定する必要があります。
全体の例:
自分: inbox.foo
他人: user.alice.foo
共有: shared.foo
################
予約文字 "#" のおかげで、1) と 2) は互いに変換可能です。
なので Mew は、どちらかのフォルダ空間を採用すればよくなります。1) を採
用したら、2) のサーバへは、1) を 2) に変換して通知するわけです。
この問題の発端は、自分のフォルダに毎回 "inbox." を付けたくないというこ
とでした。なので、おのずと 1) を選択しました。
すなわち、Mew では以下のような名前でフォルダを指定します。
自分: %foo
他人: %~alice.foo (Mew では "~" も予約文字)
共有: %#shared.foo
################
参考までに、キャッシュディレクトリ(Mail/.imap 以下)と、IMAP サーバへ渡
されるときのフォルダ名の変換例を書いておきます。
Mew cache IMAP
folder directory mailbox
WU
%foo foo foo
%foo/bar foo/bar foo/bar
%~alice/foo #~alice/foo ~alice/foo *1
%#shared.foo #shared.foo #shared.foo
Cyrus
%foo foo inbox.foo
%foo.bar foo.bar inbox.foo.bar
%~alice.foo #user.alice.foo user.alice.foo
%#shared.foo #shared.foo shared.foo
Courier
%foo foo inbox.foo
%foo.bar foo.bar inbox.foo.bar
%~alice.foo N/A N/A *2
%#shared.foo #shared.foo shared.foo
*1) Mew の予約語 "~" が、たまたま WU の予約語 "~" に変換されている
*2) 資料がないので、どうすべきかよく分らない
################
注意:
a) パスの区切り文字は、サーバが指定する文字をそのまま使います
b) 他のフォルダ名空間を参照しない人にとっては何も変りません。
c) 他のフォルダ名空間を参照する人にとっても、単なる拡張です。
d) alpha/fix-imap コマンドで名前を変更したキャッシュフォルダは、そのま
ま使えます。Cyrus や Courier を使っているのに、alpha/fix-imap を実
行していない人は、実行して下さい。
e) いずれにせよ、"3 Z" を実行する必要があります。
--かず
Mew-dist メーリングリストの案内