[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:19152] Re: mewの開拓



From: MOUE Kiyoshi <kmoue@sky-mue.jp>
Message-Id: <20030528.194825.74733641.kmoue@sky-mue.jp>

> mew のことは田原さんに聞け,なんでしょうけど :-)

では、おだてに乗って、手元での例を。

Mew での case の働きをあえて分類すると、次の 2通りになります。

A) アカウント(接続先サーバなど)の切り替え
B) 帽子(From: とかのヘッダなど)の切り替え

そんじょそこらのメーラでは、このへんは連動しているものです(大多数のメー
ラは、From:ヘッダを自由に設定できないことを知ったときにはかなり驚いた)
が、Mew では、完全に独立しています。

で、その人のライフスタイルによって、いろんな case の切り方がありますね。

例1) あちこちにアカウントを持っていて、立場によってメールアドレスも変
     える人→SMTP固定、POP/IMAP と From: を case で切り替え

例2) ノートPCを持ち歩いていて、家でも会社でも使う人→全部切り替え

そこで私の場合なんですが、こんな感じです。

・あちこちにアカウントは持ってるけど、転送して1個所に集約
・使うメールアドレスは会社とプライベートの2本だけ
・ノートを会社でも家でも使う
・繋ぎ先に関係なく、仕事のメールかプライベートのメールかでアドレスを使
  い分ける

複雑ですね。よく見ると、上述の (A) と (B) が直交してるのがわかります。
というわけで、case を大きく 2群に分けて、複数の case を設定することで
直交性を出します。実際には、さらに FCC を自動で消すためにもう1群用意し
ています。

A) アカウント設定用の case

・(default)→ローカル相手に送受信する(Postfix と fetchmail 任せ)
・home→家のサーバに送信、外のメールボックスからPOP
・office→会社のサーバに送信、会社のメールボックスからPOP

B) 帽子設定用の case

・(default)→プライベート用 (jado@flowernet.gr.jp)
・biz→会社用 (shunichi_tahara@zenrin.co.jp)

C) FCC を消すための case

・(default)→Fcc: を付ける
・nofcc→Fcc: を付けない

これらの case の設定ですが、(A) は Cキーで手動設定です。(B)(C) につい
ては、guess で自動的に設定させます。

(A)〜(C) から 1つずつ、最大 3つの case が同時に設定されますので、
(setq mew-case-guess-addition t) としています。これをすると、guess し
たときに、今設定されている case に追加する効果があります。

Guess については、基本的に To: と Cc: を見て、From: ヘッダや Fcc: を切
り替える感じですが、From: からの推測ルールもありますので、C-cC-i で
From: を切り替えてから C-cC-o で推測させると、それに応じて case がくっ
ついてきます。

mew-config-alist と mew-case-guess[-when-replied]-alist はこんな感じで
す。let とかでシンボル置換しているのですごいややこしいですが、基本原理
は上で述べた通りです。

(let
 (
  ;; 帽子の定義(プライベート用)
  (fmt-priv
   '(("user"           . "jado")
     ("mail-domain"    . "flowernet.gr.jp")
     ("name"           . "Shun-ichi TAHARA (田原 俊一)")
     ("header-alist"   .
      (("X-URL:"         . "http://flowernet.gr.jp/jado/")
       ("X-Fingerprint:" .
	"16 9E 70 3B 05 86 5D 08  B8 4C 47 3A E7 E9 8E D9")))
     ("signature-file" . "~/.signature")))
  ;; 帽子の定義(仕事用)
  (fmt-biz
   '(("user"           . "shunichi_tahara")
     ("mail-domain"    . "zenrin.co.jp")
     ("name"           . "Shun-ichi TAHARA (田原 俊一)")
     ("header-alist"   .
      (("X-URL:"         . nil)
       ("X-Fingerprint:" .
	"16 9E 70 3B 05 86 5D 08  B8 4C 47 3A E7 E9 8E D9")))
     ("signature-file" . "~/.signature-biz")))
  ;; Fcc: の定義
  (fmt-fcc
   '(("fcc"            . "+fcc")))
  (fmt-nofcc
   '(("fcc"            . nil)))

  ;; アカウントの設定(ローカル用)
  (send-local
   '(("smtp-mail-from"    . "jado@flowernet.gr.jp")
     ("smtp-msgid-user"   . "jado")
     ("smtp-msgid-domain" . "flowernet.gr.jp")
     ("smtp-server"       . "localhost")
     ("smtp-helo-domain"  . "localhost")))
  (recv-local
   '(("mailbox-type" . mbox)
     ("mbox-command" . "incm")))
  ;; アカウントの設定(家用)
  (send-home
   '(("smtp-mail-from"    . "jado@flowernet.gr.jp")
     ("smtp-msgid-user"   . "jado")
     ("smtp-msgid-domain" . "flowernet.gr.jp")
     ("smtp-server"       . "XXX.XXX.XXX.XXX")
     ("smtp-helo-domain"  . "sylph")))
  (recv-home
   '(("mailbox-type" . pop)
     ("pop-auth"     . pass)
     ("pop-user"     . "jado")
     ("pop-server"   . "XXX.XXX.XXX.XXX")))
  ;; アカウントの設定(会社用)
  (send-office
   '(("smtp-mail-from"    . "shunichi_tahara@zenrin.co.jp")
     ;; ↑会社では、SMTP FROM を制限しているので、From: に関係なく
     ;;   同一の SMTP FROM を使ってもらう
     ("smtp-msgid-user"   . "XXXXXXX")
     ("smtp-msgid-domain" . "zenrin.co.jp")
     ("smtp-server"       . "XXX.XXX.XXX.XXX")
     ("smtp-helo-domain"  . "sylph")))
  (recv-office
   '(("mailbox-type" . pop)
     ("pop-auth"     . pass)
     ("pop-user"     . "XXXXXXXX")
     ("pop-server"   . "XXX.XXX.XXX.XXX"))))

 ;; let 本体

 (setq mew-config-alist
     ;; ここは(A)(B)(C)共通のデフォルト
   `(("default" . ,(append fmt-priv fmt-fcc
			   send-local recv-local))
     ;; (A) アカウント設定用の case
     ("home"    . ,(append send-home recv-flower))
     ("office"  . ,(append send-office recv-office))
     ;; (B) 帽子設定用の case
     ("biz"     . ,fmt-biz)
     ;; (C) FCC 消去用の case
     ("nofcc"   . ,fmt-nofcc))))

;;; guess

(setq mew-case-guess-addition t)        ;; ←これがミソ!!!

(let*
  ;; From: で case を切り替えるためのルール
 ((from-rule
   '(("@zenrin\\.co\\.jp" . "biz")))
  ;; To:/Cc: で case を切り替えるためのルール
  (tocc-rule
   '(("@zenrin\\.co\\.jp" . "biz")))
  ;; Fcc: の要らないアドレスの一覧
  (ml-list
   '(
     "plamo@linet.*\\.jp"
     "plagia@linet.*\\.jp"
     "plamodocs@linet.*\\.jp"
     "plamo-maintainer@linet.*\\.jp"
     ))
  ;; ml-list→nofcc-rule を生成
  (nofcc-rule
   (mapcar
    (lambda (addr)
      `(,addr . "nofcc"))
    ml-list)))

 (setq mew-case-guess-when-replied-alist
   `(("To:" . ,from-rule)
     ("Cc:" . ,from-rule)))

 (setq mew-case-guess-alist
   `(("From:" . ,from-rule)
     ("To:"   . ,(append tocc-rule nofcc-rule))
     ("Cc:"   . ,(append tocc-rule nofcc-rule)))))
_______________________________
田原 俊一   jado@flowernet.gr.jp, shunichi_tahara@zenrin.co.jp
                                  http://flowernet.gr.jp/jado/
FingerPrint:  16 9E 70 3B 05 86 5D 08  B8 4C 47 3A E7 E9 8E D9
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

Follow-Ups
[plamo:19153] Re: mewの開拓, MOUE Kiyoshi
References
[plamo:19140] Re: mewの開拓, Seiji KOJIMA
[plamo:19141] Re: mewの開拓, Chie Nakatani
[plamo:19148] Re: mewの開拓, MOUE Kiyoshi

[検索ページ] [メール一覧]
Plamo ML 公開システム