makotan _at_ gmail dot com

Mew

この頃やってたセットアップの記録・・・
あっWindowsだけ。
って事で環境はWindowsXPMeadow、Mew6.2、POPFileCygwin、HyperEstraier
Cygwinをインストール。gccとかのコンパイラ系とgnupgは忘れずに
Meadowをインストール。選ぶパッケージにMUA-Addonがあるのでそれは忘れずに、あとMule-ucsだったっけな〜それも。
あとは普通にMeadowをセットアップする(長くなるしググればいいのでここは思いっきり省略)
mewアーカイブをダウンロードしてきて適当なフォルダに解凍する
解凍したフォルダにmew.exeがあるので実行する。これでmewのインストールは終わり
hyperestraierをダウンロードして適当なフォルダに解凍する。hyperestraierはcygwinより前になるようにパスに設定する
meadowのソースのここからfakecygpty.cを落としてきて、cygwinコンパイルしてPathの通った適当な場所に置く(詳しくはググる)
mewの設定を.emacsにしてから

(setq mw32-process-wrapper-alist
     '(("/\\(ssh\\|bash\\|tcsh\\|gpg[esvk]?\\)\\.exe" .
	 (nil . "fakecygpty.exe"))))

これを.emacsの適当なところに追加
それからmewの送受信関係をセットアップする(詳しくはググる)
POPFileを使っている関係でmew-pop-authは'passになる

;; POPのためのbiff機能に関する設定
(setq mew-use-biff 't)
(setq mew-use-biff-bell 't)
;; パスワードを暗号化してファイルに保存する(GnuPGのインストールが必要)
(setq mew-use-master-passwd 't)
;; パスワードをキャッシュする
(setq mew-use-cached-passwd 't) ;; 使用には要注意

これまでの設定でこの辺の機能も有効になる
それからここが大事なSPAMフィルターの設定

;; SPAM filter
;;
(defun mew-spam-popfile (val)
  (let ((case-fold-search t))
    (if (string-match "^spam" val) "+trash/spam")))

(setq mew-spam: "X-Text-Classification:")
(setq mew-inbox-action-alist
     '(("X-Text-Classification:" mew-spam-popfile)))

Webを見てるとMew5.xの設定が多いので、そのまま掲載
"+trash/spam"を色々変えると行き先とかも変えれる
+trashの下に置かないと全文検索で引っかかって困ったことになるのでここに置いた

;; Mewのファイルに拡張子をつける
(setq mew-use-suffix t)

;; 検索エンジンの指定
(setq mew-search-method 'est)

;; メッセージの受信サイズの変更
(setq mew-pop-size 20480000)

;;
(setq mew-reply-all-alist
      '((("Followup-To:" "poster")
         ("To:" "From:"))
        ("Followup-To:"
         ("Newsgroups:" "Followup-To:"))
        ("Newsgroups:"
         ("Newsgroups:" "Newsgroups:"))
        ("Reply-To:"
         ("To:" "Reply-To:"))
        (t
         ("To:" "From:")
         ("Cc:" "To:" "Cc:" "Apparently-To:"))))

;Mewメーリングリストで返信したとき、Reply-ToにMLと投稿者のアドレス
;両方が付かないようにする。
(setq mew-replyto-to-list '("Reply-To:"))
(setq mew-replyto-cc-list nil)

拡張子はどうでも良い予感なんだけど・・・一応
最後のmew-reply-all-alistは要らないのが入ってるけど・・・きにしな〜い(w

(setq mew-refile-guess-alist
  '(
     ("Mailing-List:"
       (".*"
         *1
       )
     )
     ("X-ML-Name:"
       ("BackLog-hoge-\\(.+\\)" "+hoge/backlog/\\1")
       ("[a-zA-Z0-9@\\-]+" ;;他のML用
          *2
       )
     )
     ("Reply-To:"
      ("^\\([a-zA-Z0-9\\-]+\\)@ml.seasar.org" "+ml/seasar.org/\\1")
      ;("\\([a-zA-Z0-9\\-]+\\)@\\([-a-zA-Z0-9.]+\\)" "+ml/\\2/\\1")
     )
     ("To:"  ;;他に対策がないものorとりあえず良いかなと思ったもの
      ("\\([a-zA-Z0-9\\-]+\\)@bizsche.nikkeibp.co.jp" "+mag/nikkeibp/\\1")
     )
     ("From:"
       ("issues@seasar.org" "+ml/seasar.org/JIRA")
     )
  )
)

こうやって書くと、振り分けの時にml配下にフォルダを作るか?って聞いてきてyって答えるとそこに振り分けてくれる。
しかもフォルダを自分で作らなくて良いから楽!
複合条件を書きたかっただけ、な〜の〜に〜色々見てもあんまり情報がなかったので四苦八苦した
hogeは自社のドメイン名が入ってるけど、ほかのはサンプルかねてそのまま
ここまで終われば・・・・
Mewを起動する(M-x mew)
スターパスワードを聞いてくるので入れる(....)
もう一回聞いてくるので入れる(.....)
POPのパスワードを聞いてくるので入れる(....)
受信したらいきなりSPAMに振り分けるやつだけ指定が出来てる
上下に移動しながら(p,n)
間違えがあれば指定を取り消す(u)
全部OKなら振り分け実行!(x)
これでSPAMが消えるので後は個別に
振り分ける設定をする(o)
フォルダを聞いてくるので答える
振り分ける(x)
を繰り返すか
読み込んだやつをまとめて振り分ける(M-o)
振り分ける(x)
をする
メールを個別に見たり(Enter)
ツリー表示にしたり(tt)
サマリーに戻したり(v)
連続してメール見たり(SPC)
ってのを繰り返すのも有り
気が向けば引用しつつ返信したり(A)
新規にメールを書いてみたり(w)
書いたメールを送信してみたり(C-c C-c)、やめてみたり(C-c C-q)
適当なところでアドレス帳に登録(C-c C-a)ってやるとアドレス帳の登録画面になるので
それで良かったら登録確定(C-c C-c)したり、やっぱやめ(C-c C-q)てみたり
ってのをやってると使えた気になるのでGood!
全文検索のインデックスを作って(kM)からdoneってでてから
検索(k/)をしてみる
パターンを聞いてくるので入れる(....)
何も入れるモノがないときは?を入れる
フィルターを聞いてくるのでfrom=とかの形式で入れたければ入れる
そしたら検索結果が表示される
ヒット数が多い(2000通とか)だと表示に時間がかかって大変だった
ベッキーからデータを移すには・・・
ベッキーのエクスポートを使ってeml形式でエクスポートする、送信日時をタイムスタンプにする
それからFileRenamer2000っていうツールで番号.mewって形式にファイルをリネームする。
このときに順番を作成日時にすると良い感じ
そのあと、KanjiTranslatorでJISのLFに一括修正する
それを空っぽのinboxに入れてフォルダを更新(s)してから振り分ければOK!

よし、これで必要なバックアップはとった(w

*1:"Reply-To:" ("\\([a-zA-Z0-9\\-]+\\)@\\([a-z0-9\\-\\.]+\\)" "+ml/\\2/\\1")

*2:"Reply-To:" ("\\([a-zA-Z0-9\\-]+\\)@hoge.jp" "+hoge/ml/\\1")