[ホーム]-> [emacs]-> [活用法]-> [wanderlust]

Wanderlust

1. Wanderlust とは

Wanderlust とは寺西氏が作られた、Emacs の上で動作するメーラ/ニュースリーダです。 使用感は Mew に似ています。 個人的には以前は Mew を使わせてもらってたのですが、Mailing List とかに入ると、スレッド対応や未読管理がしっかりをしているものが欲しくなり、Wanderlust に浮気しました。 その他にも自動リファイルなどいろいろ嬉しい機能満載です。

Mew と違って MIME 対応は semi にまかせています。 また Nemacs などのかなり古い Emacs でも使えます。 詳しくは本家のページや info を参照して下さい。

なお、ここでは、2.8.1 を対象に書いています。

2. インストール

本家のページからファイルをダウンロードして展開し、INSTALL.ja の指示に従うだけです。 これに、動作する Emacs と Mime モデュール (APEL, FLIM, SEMI etc.) の版の組み合わせも書かれています。 GNU Emacs 21 なら普通に APEL 10.3, FLIM 14.3, SEMI 14.3 を使うのが良いでしょう。 もしまだインストールしていなければ、 APEL は ftp://ftp.m17n.org/pub/mule/apel/, FLIM ftp://ftp.m17n.org/pub/mule/flim/, SEMI ftp://ftp.m17n.org/pub/mule/semi/ から取って来てインストールしておきます。

後は GNU Emacs なら、基本的には make; make install ですむはずです。

(RedHat系 Linux 用の Emacs21 のページ SRPM:Wanderlust も参照。)

3. 設定

個人での設定はホームディレクトリの .emacs.el, .wl, .folders, また必要に応じて .addresses などで行います。

これらの書き方は info に丁寧に説明されていますし、個人の環境によってかなり違うものではあるのですが、多少の参考にはなるかもしれません。 もっとも、もっと役に立つ情報が本家のページのリンクから辿れることでしょう。 info もとても詳しいです。

3.1. .emacs.el

ここでは最低限のことを記述し、残りは .wl に書くといいでしょう
(load "mime-setup") ;; wl の設定ではないが、無ければ追加しておく。
(autoload 'wl "wl" "Wanderlust" t)
(autoload 'wl-draft "wl" "Write draft with Wanderlust." t)

3.2. .wl

Wanderlust 起動時に自動的に読み込まれるファイルです。Wanderlust 関係の設定は .emacs.el ではなくこちらに書くようにするとよいでしょう。 以下は、imap4 を使う場合を想定しています。
;;; mail
;; send (サーバー名は環境に合わせて適宜変更して下さい。)
(setq wl-smtp-posting-server "めーる.どこか.ac.jp")
;; (system-name) が fqdn を返さない場合に限り下のような domain 名を設定する。
;(setq smtp-local-domain "なんとか.どこか.ac.jp")
;; imput を使う場合は下のように im-wl を使う。
;(autoload ';wl-draft-send-with-imput-async "im-wl")
;(setq wl-draft-send-function ';wl-draft-send-with-imput-async)
;(setq wl-smtp-posting-server "smtp.さーばー.com")

;; read ; 各項目は適宜変更して下さい。
(setq elmo-imap4-default-user "なまえ")
(setq elmo-imap4-default-server "めーる.どこか.ac.jp")
(setq elmo-imap4-default-authenticate-type ';login) ;cram-md5/digest-md5/clear
(setq elmo-imap4-default-mailbox "#mhinbox")
(setq elmo-imap4-default-stream-type ';ssl) ; ssl を使う
;; (以上は単なるデフォルト値なので、フォルダの方で上書き設定できます。
;; つまり、何も書かなくても構いません。)

(setq wl-message-id-domain "math.s.chiba-u.ac.jp"
      wl-from "matsu@math.s.nantoka-u.ac.jp")
;(setq wl-default-folder "+inbox" ;; デフォルトは MH の inbox フォルダ
;      wl-default-spec "+")       ;; フォルダ移動は MH 形式のフォルダに
(setq wl-alias-file "~/Mail/myaliases") ;; alias ファイル名
(setq wl-interactive-send t) ;; C-cC-c で送信する前に確認する
(setq wl-highlight-background-mode  ';light) ;; 背景色は明るい色
;; draft バッファ作成時に、特定の条件の下で動作変更
(setq wl-draft-config-alist
      ';((reply
         "Reply-To: vine-users@ml.ryukyu.ne.jp"
         ("To" . "vine-users@ml.ryukyu.ne.jp")
         ("Cc" . "")
         )))
(add-hook ';wl-mail-setup-hook ';wl-draft-config-exec)

;; refile rules
;; (差し支えない範囲に削ってます。)
(setq wl-refile-rule-alist
      ';(
        ("Cc"
         ("vine-users@ml.ryukyu.ne.jp" . "+ML/vine-users")
         ("skk@ring.gr.jp" . "+ML/skk"))
        ("To"
         ("yatex@yatex.org" . "+ML/yatex")
         ("skk@ring.gr.jp" . "+ML/skk")
         ("vine-users@ml.ryukyu.ne.jp" . "+ML/vine-users"))
        ))
;; 記事を expire する期間の設定
(setq wl-expire-alist
              ';(("^\\+trash$" (date 7) remove)
              ("^\\+Kondara/Users$" (number 200) remove)))
;;; news
(setq elmo-default-nntp-server "news.s.chiba-u.ac.jp")
(setq wl-nntp-posting-server "news.s.chiba-u.ac.jp")
;; 日本語ファイル名で送って来るメーラ向け対策
(eval-after-load "mime"
  ';(defadvice mime-entity-filename (around mime-decode activate)
     ad-do-it
     (and ad-return-value 
          (setq ad-return-value 
                (eword-decode-string (decode-mime-charset-string
                                      ad-return-value
                                      ';iso-2022-jp))))))
MH の inc を利用してメールを読む場合は、次のようなのが役に立つと思います。 どこかのページに書かれているものをパクっただけですが。
;; M-i で MH の inc を起動して、summary を sync
(defun TT:wl-inc-mail ()
    (interactive)
    (message "Incing ... ")
    (call-process "inc" nil nil nil)
    (if (and (boundp ';wl-summary-buffer-folder-name)
             (eq wl-summary-buffer-folder-name wl-default-folder))
        (wl-summary-sync-force-update)
      (wl-summary-goto-folder-subr wl-default-folder ';force-update nil nil)))
(add-hook ';wl-folder-mode-hook
            (function
             (lambda ()
           (define-key wl-folder-mode-map "\M-i" ';TT:wl-inc-mail)
               (define-key wl-summary-mode-map "\M-i" ';TT:wl-inc-mail))))

3.3. .folders

Wanderlust では、IMAP や MH などのフォルダ、NNTP などを全てフォルダとして抽象化して統一的に扱えるようになっています。 2.8.1 では IMAP, NNTP, MH, Maildir, News Spool, POP, Archive, Shimbun, Namazu, Multi, Filter, Pipe, Internal のフォルダを扱えます。 ここでは個人的な例から抜粋しておきます。基本的には IMAP4 を利用してます。 が、書き方は、IMAP4 サーバーによっても違うので、実際には info や自分の環境の説明を読んで設定する必要がありますが。

%#mhinbox:あかうんと/login@めーる.どこか.ac.jp! "受信箱"
ML{
    +ML/vine-users "Vine ML"
    +ML/yatex "野鳥 ML"
}
+chiba "千葉"
+jimu "事務"
+trash  "ゴミ箱"
+drafts
FJ{
    -fj.editor.emacs
    -fj.editor.mule
    -fj.editor.misc
}

3.4. .addresses

foo@bar.nanto.ka        "家"        "なんとかかんとか"
という感じのものをずらずら並べれば OK です。左から順に
メールアドレス、あだ名、本名
です。 これを設定しておくと draft モードで From を書く時に補完できるようになります。 また wl-alias-file で MH のアドレス帳が設定されてれば、それも使われるようです。
[ホーム]-> [emacs]-> [活用法]-> [wanderlust]