Go to the first, previous, next, last section, table of contents.


楽々整理整頓

1日に数百のメールを受け取るようになると(え、そんなに受け取らないって?) 整理整頓が大変になります。Mew では、`o' でメールを整理する際に、整 頓先を推測しデフォルト値として表示してくれます。たとえば、次のようになり ます。

Folder name (+work/mew-dist): +

もし、() のなかのデフォルト値が自分の希望通りであれば、`RET' を押す だけでよいのです。整頓先が決定しているメールには、`o' マークが付き ます。

この整頓先の推測が賢ければ賢い程ユーザは楽になります。Mew では以下のよう なルールが用意されています。

フォルダ名から推測

ヘッダの情報を見ただけでは、整理先となるフォルダの候補は無限です。よって、 なんら手がかりのない状態で、メールから整頓先を決定するのは無理な話です。 しかし、フォルダ名の一覧は限りありますから、この中から整理先を選び出すこ とはそんなに難しいことではありません。

たとえば、+work/happy-networking というフォルダがあったとしましょう。 次のようなメールは、このフォルダに整頓すればよい可能性が高いといえます。

To: happy-networking@is.aist-nara.ac.jp 

このように、To: や Cc: のアドレスが、フォルダ名の一番右側にマッチするも のがないか探すわけです。フォルダを階層化していない人が多いようですが、 Mew を使う限り、階層化しない手はありません。

さて、鋭い人は次の様なときに困るのではないかと思うでしょう。

To: simozono
Cc: happy-networking@is.aist-nara.ac.jp

kazu は happy-networking の一員ですから、このメールが届きます。しかし、 simozono さんと仲がいいので ~/Mail の下の +simozono にマッチしてしまい ます。

そこで、Mew では無視するフォルダを設定できるようになっています。デフォル トでは、"~/Mail/from" 以下を無視します。ですから、個人からのメールは "~/Mail/from" に収めて下さい

候補が決定できたら

Folder name (+work/happy-networking): +

と訊いてきます。あっていれば `RET' を、違っていればお望みのフォルダ を入力して下さい。

`o' で新しいフォルダを指定すると、そのフォルダが自動的に作成され、 次からは推測用の候補にも加わります。便利でしょ?

この機能を提供する関数は `mew-guess-by-folder' です。

指定したルールから推測

フォルダ名から推測する機能だけでは、思うようなフォルダを推測してくれない 場合があります。たとえば、

To: staff@is.aist-nara.ac.jp

To: staff@csce.kyushu-u.ac.jp

は、フォルダ名からの推測では同じフォルダ(たとえば、"+net/staff")が選ばれ てしまいます。そこで、Mew では、変数 `mew-auto-folder-alist' に明示 的にルールを設定できます。

1つ例を挙げてみましょう。

(setq  mew-auto-folder-alist
  '(("To:"
      ("staff@is.aist-nara.ac.jp" . "+net/aist-nara/staff")
      ("staff@csce.kyushu-u.ac.jp" . "+net/kyushu-u/staff")
     )))

これは、メールヘッダ中の To: の横の文字列に staff@is.aist-nara.ac.jp が あれば +net/aist-nara/staff へ、staff@csce.kyushu-u.ac.jp があれば +net/kyushu-u/staff へ整頓するという意味です。

ルールは、以下のように書きます。

rule ::= '((<key> <alist>) (<key> <alist>) (<key> <alist>) ...)

全体は (<key> <alist>) のリストです。<key> はフィールド名を書きます。 <alist> は以下のようになります。

<alist> ::= (<value> . <folder>) (<value> . <folder>) ...

<value> は <key> で示したフィールドにくる値です。<folder> は <key> にマッ チした際にどのフォルダに整頓するかを意味しています。<value> と <folder> を `.' で区切るのを忘れないで下さい。

正規表現を知っている人は、以下のような複雑なルールを設定できます。

(setq  mew-auto-folder-alist
  '(("Newsgroups:"
    ("^nifty\\.\\([^ ]+\\)" . "+Nifty/\\1")
    (".*"         . "+rec/news"))
   ("To:"
    ("\\(inet\\|wide\\)@wnoc-fuk" . "+wide/\\1-wnoc-fuk"))
   ("From:" 
    ("uucp@"      . "+adm/uucp")
    ("ftpsync@"   . "+adm/ftpsync"))))

この機能を提供する関数は `mew-guess-by-alist' です。

Message-ID から推測

In-Reply-To: フィールドの Message-Id をたどり、親のメールがかつてどこに 整頓されたかによって推測する機能があります。

たとえば、Alice、Bob、Chris との間で、スキーに行こうという話題が盛り上がっ たので、+tmp/ski というフォルダを作って、そこに 整頓したとしましょう。以 降、3人の間のメールがきちんとした返答であるかぎり、+tmp/ski を推測してく れるでしょう。

Message-Id とフォルダの情報は、~/Mail/.mew-id-alist に保存されています。 あまりに増大するようであれば、bin/mew-refile を時々 cron で動かしておけ ばいいでしょう。

この機能を提供する関数は `mew-guess-by-message-id' です。

From: から推測

同じ From: フィールドを持つメールがかつてどこに refile されたかによって 推測する機能があります。

Alice がスキーのための宿の情報をメールしてきました。きちんとした返答メー ルではないので、Message-ID からの推測からでは正しく推測できません。しか し、+tmp/ski を選んで欲しいのが人情です。直前の彼女からのメールが +tmp/ski に整理されていれば、正しく +tmp/ski を推測してくれるでしょう。

その他、機械からくるメールは、いつも +adm/misc に入れることにしたい場合 なども、明示的なルールを書かずに済ませられます。

この機能を提供する関数は `mew-guess-by-from' です。

デフォルトの規則

デフォルトの規則は、From: からユーザ名を切り出して、 `+from/username' を選ぶようになっています。関数名は、 `mew-guess-by-default' です。

ルールの順位

ルールの順番は、`mew-refile-folder-guess-functions' に定義します。 先に書いた関数から順に実行され、フォルダが推測された時点で終了します。

Mew は、`mew-refile-folder-guess-functions' を以下のように宣言して います(宣言なので `defvar' が使われています)。

(defvar mew-refile-folder-guess-functions '(
        mew-guess-by-alist
        mew-guess-by-folder
        mew-guess-by-message-id
        mew-guess-by-from
        mew-guess-by-default))

ちなみに、著者の設定は以下のようになっています(このように、.emacs での設 定には `setq' を使って下さい)。

(setq mew-refile-folder-guess-functions '(
					    mew-guess-by-alist
					    mew-guess-by-folder
					    mew-guess-by-default
					    ))


Go to the first, previous, next, last section, table of contents.