[mew-dist 20542] Re: IMAP mailbox convention

Hideyuki SHIRAI ( 白井秀行 ) shirai at example.com
2002年 3月 4日 (月) 14:44:37 JST


From: Tsuyoshi AKIHO <akiho at example.com> さん曰く
Subject: [mew-dist 20536] Re: IMAP mailbox convention
Message-ID: <86it8gpccg.fsf at example.com>
Date: Fri, 01 Mar 2002 23:54:55 +0900

> 秋保と申します。

フォローありがとうございます。(_ _)

> >> IMAP のメールボックスの名前体系の件ですが、
> 
> IMAP(O'REILLY, Dianna Mullet, Kevin Mullet著、株式会社オレン
> ジソフト監訳、木田直子訳)の 240 ページから「UW IMAPのネーム
> スペース」について書かれています。この本を参照して頂けると助
> かるのですが。

ふむ。

> それだけでは何なので、IMAP のネームスぺースのドキュメントと
> して、 RFC2342 があるそうです。
> 
> cyrus も UW IMAP も IMAPネームスぺースをサポートしているとの
> ことですので、 IMAP NAMESPACEコマンドが使えると思います。
> このコマンドで、階層区切り文字がわかるはず。

ぼくの環境で試すと、こうなりました。

[shirai at example.com:~/]% telnet localhost imap
Trying 127.0.0.1...
Connected to localhost.
Escape1 character is '^]'.
* OK localhost IMAP4rev1 v12.264 server ready
 <<snip>>
mew1 namespace
* NAMESPACE (("" "/")("#mhinbox" NIL)("#mh/" "/")) (("~" "/")) (("#shared/" "/")("#ftp/" "/")("#news." ".")("#public/" "/"))
mew1 OK NAMESPACE completed

> > おそらく ~/Imap を ~/ を読み直すと普通の環境の場合になると思
> > いますが、
> 
> UW IMAP を普通に使うと、 ~/Imap は ~/ になります。

はい。なんでこんなこと (~/Imap) やったのか思い出したのですが、最
初、素のままインストールしたら "%tmp => ~/tmp" となって、すでに
~/tmp という directory が存在したため破綻したので安直な方法を選
んだのでした。

> はい。 INBOX は特別扱いです。 /var/mail/shirai にメールが入っ
> ていると、UW IMAP は接続時に、/var/mail/shirai のメールを
> ~/Imap/mbox に移動してくれます。

ぼくの場合は、popd は QPOPER を使い続けているから、mbox に移動し
てくれないのかな。(imap ちゃんと使うならやっぱり全般的にバージョ
ンアップかも ^^;)

From: Tsuyoshi AKIHO <akiho at example.com> さん曰く
Subject: [mew-dist 20540] Re: IMAP mailbox convention
Message-ID: <378930325020020304013807akiho at example.com>
Date: Mon, 04 Mar 2002 01:38:55 +0900

> (setq mew-imap-mailbox-prefix "#mh/")とした場合は、
> 
> %          → INBOX
> %personal  → #mh/personal
> %school    → #mh/school
> %emacs/mew → #mh/emacs/mew
> 
> で、
> 
> (setq mew-imap-mailbox-prefix "mail.")の場合は、
> 
> %          → INBOX
> %personal  → mail.personal
> %school    → mail.school
> %emacs.mew → mail.emacs.mew
> 
> とする方が、しっくりくると思うのですがどうでしょうか。

後者の場合って、mailbox の実体は ~/mail.personal ってなっている
んですよね?

だけどこの方法だと、上記の二種類を簡単に使い分けたい、とかが出来
ないと思うのです。case でわけるにしても、imap server が同じ
server なのに case を変えるのもなんか変だと思います。

> (Mew で g したときに IMAPフォルダの補完は、これからなのですね。
> +backup とかは、補完してくれるのに %#mh/nanntara は補完して
> くれなかった)

補完の対象は

mew1 LIST "#mh/" "*"
mew2 LIST "" "*"

とかの返事を見て、解析すればいいんですね。

(1) 解析する namespace は
    (setq mew-imap-support-namespace '("" "#mhinbox" "#mh/")) と
    かで指定しておく。

(2) "#mh/" の時は、Imap のローカルキャッシュである、imap 以下は
    補完対象にしない。

(3) LIST "" "*" は実際は、mew-imap-mailbox-prefix のみ解析する。
    LIST "" "mail.*" かな?

という感じ?

どっちにしろ、補完が賢くなったら g での入力の手間は一気に半減す
ると思うので、上記の補完とあわせて folder名が

(1) "^%#" だったらフォルダ名はそれ以降をそのまま使う。

(2) "^%[^#]" だったら mew-imap-mailbox-prefix を頭につける。

(3) セパレータは、両者とも NAMESPACE の返事に則って、必要なら(可
    能なら) "/" に変換して、ローカルのキャッシュを作る。

見落としがあるとは思いますが、uw-imap だとこれぐらいかしら。

## わたし、根本的に imap の使い方を間違っているのですね。
## ~/Imap じゃなくて、mail.hoge とフォルダ名 の prefix でわけた
## 方が良かったみたい。

-- 
白井秀行 (mailto:shirai at example.com)



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