トップ 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

Wanderlust

[コンピュータ関連Tips]


wanderlustはIMAPに対応しているemacs上で利用できるメーラです
未読メールのあるフォルダを色分けして表示してくれたり
mewにはない機能が多くあります。
mewとキーバインドが似ていて乗り換えやすい...と言うふれこみは多いのですが
結構違うと思う...
このページではmewを使ったことのある人、emacsの設定を少しはしたことのある人を対象にしています。

 インストール

mewと違って、flimやsemiなど多くのパッケージが必要なので注意

 設定ファイル

サンプルの設定ファイルがついてくるのですが
項目がたくさんあってよくわかならない...適当に必要そうなものだけ設定
設定は.emacs、.wl.el、.foldersで行います。

 .emacs

下の4行を追加します

(autoload 'wl "wl" "Wanderlust" t)Mail/draft/
(autoload 'wl-other-frame "wl" "Wanderlust on new frame." t)
(autoload 'wl-draft "wl-draft" "Write draft with Wanderlust." t)
(autoload 'elmo-split "elmo-split" "Split messages on the folder." t)

 .wl.el

Wanderlust全体の環境変数を設定するためのファイルです。
最低限(でもないけど...)必要な項目は次の通りです

(setq mime-edit-split-message nil)
(setq wl-from "Takefumi MIYOSHI <miyo@server.dokodoko>")
;; IMAP サーバの設定
(setq elmo-imap4-default-server "imap.server.dokodoko")
;; POP サーバの設定
(setq elmo-pop3-default-server "pop.server.dokodoko")
;; SMTP サーバの設定
(setq wl-smtp-posting-server "smtp.server.dokodoko")
;; ニュースサーバの設定
(setq elmo-nntp-default-server "localhost")
;; 投稿先のニュースサーバ
(setq wl-nntp-posting-server elmo-nntp-default-server)
;; IMAP サーバの認証方式の設定
(setq elmo-imap4-default-authenticate-type 'login) ; 生パスワード
;; Folder Carbon Copy
(setq wl-fcc "%backup")
;(setq wl-fcc "+backup")
;; サマリバッファの左にフォルダバッファを表示する (3ペイン表示
(if (eq window-system 'x)
   (setq wl-stay-folder-window t))
;; オフライン(unplugged)操作を有効にする(現在はIMAPフォルダのみ)
(setq elmo-enable-disconnected-operation t)
;; unplugged 状態で送信すると,キュー(`wl-queue-folder')に格納する
(setq wl-draft-enable-queuing t)
;; unplugged から plugged に変えたときに,キューにあるメッセージを送信する
(setq wl-auto-flush-queue t)
;; 返信時のウィンドウを広くする
(setq wl-draft-reply-buffer-style 'full)
;; 隠したいヘッダの設定
(setq wl-message-ignored-field-list
     '(".*Received:" ".*Path:" ".*Id:" "^References:"
       "^Replied:" "^Errors-To:"
       "^Lines:" "^Sender:" ".*Host:" "^Xref:"
       "^Content-Type:" "^Precedence:"
       "^Status:" "^X-VM-.*:"
       "^Delivered-To:" "^Posted:"
       "^List-*"
       "^X-*"))

 .folders

WanderlustではIMAPやPOP、もちろん、ローカルのMH形式のフォルダやmboxなどを全てフォルダという概念で扱います。その設定を記述するのがこの.foldersです。mewではMH形式のフォルダ(Mailの下のディレクトリ)を、主にフォルダという呼び方で呼びますが、Wanderlustでいうフォルダとは、メール(ニュースもですが)のあるサマリ(たとえば、MHフォルダやmboxファイル)などへ、アクセスするためのかたまり、単位、入口、そのようなものをさしています。そういう意味で、IMAPサーバやPOPサーバへのアクセスも"フォルダ"なのす。
...いまいち、まだ消化しきれていないので、つたない説明ですが

IMAPフォルダ

先頭が%ではじまります。.wl.elで設定しているサーバ名のIMAPサーバの場合

%inbox "IMAP"

が、そのIMAPサーバに届いたメールのスプールをあらわします。
ユーザ名はemacsの取得できるユーザ名(user-login-name)をひいてきますが、
(setq elmo-imap4-default-user "dareka")で変更することもできます。
また、IMAPサーバで、スプール以外にメールを保存していて、それにアクセスできる場合(たとえば、IMAPサーバの~/Imap/以下とか)には%hogehogeと言う名前のフォルダを通して、~/Imap/hogehogeにアクセスすることができます。


もし、複数のIMAPサーバを使う場合には、ログイン名とサーバー名を指定して

%inbox:miyo/login@server.dokodoko "IMAP"

行末の""は指定しなくても構いません。指定することで、そのフォルダに短かったり分かりやすい名前をつけることができるだけです。

POPフォルダ

先頭が&ではじまります。POPサーバーのメールを取得したければ

|&miyo@pop.server.dokodoko|+inbox        "so-net"

これで、ローカルのMH形式のフォルダMail/inboxにpop.server.dokodokoからメールを取得することができるようになります。

MHフォルダ

ローカルのMHなフォルダは先頭が+にきます。たとえば、POPで取得したフォルダをMail/friendsにふりわけたりしている場合には、

+friends

と書くことで、そのフォルダのメールにアクセスすることができるようになります。

ローカルフォルダ

先頭を.にして
たとえば

.~/backup/lab/report

とかすると,このディレクトリ以下にアクセスできる.
サーバのバックアップを参照したり,コピーしたりと便利.

フォルダ一覧

ローカルなフォルダやIMAPサーバにあるフォルダを一つ一つ.foldersに記述してもいいのですが、ちょっと面倒な場合には

+/
%/

と記述することで、"全てのフォルダ"を指定することができます。フォルダのリストはwanderlustを起動し、.elmo/folder{%,+}/flistに保存されます。もし、新しくローカルでフォルダを作った場合には(Wanderlust上の操作ではなくmkdirとかcpとかで)、これらのファイルを消すことで、次の起動時にwanderlustがまたフォルダのリストをつくってくれます

 サンプル

私の設定はだいたいこんな感じ
.wl.el(1469)
.folders(1759)

 操作

操作はmewと違い、フォルダ操作とサマリ操作があります。それぞれをフォルダモード、サマリモードといいます

フォルダモード

フォルダを指定し、そのフォルダのメールを読みます。起動時にはフォルダ操作のための画面になっていますので、読みたいフォルダのところで、Enterキーを押すことで、祖のフォルダのサマリを得ることができます。

サマリモード

メール一覧のサマリに対する操作です。mewのメール一覧と同じです。
もちろん、他のフォルダに移動したい場合には、ここで'g'と入力することで、他のフォルダへ移動することができます。先頭'+'でローカルのMHフォルダへ、先頭'%'でIMAPフォルダへ移動することができます。

操作のまとめ

  • フォルダモード -> サマリモード フォルダにカーソルをあわせてEnter
  • サマリモード -> フォルダモード "q"

 メールを取得する

POPフォルダやIMAPフォルダを選択し、サマリモードに入るときにメールを取得することができます。ただし、ネットワーク接続モードになっている場合のみです。初回にパスワードを求められます。
ネットワークに接続していない場合emacsの下の方のバーに[ON]と書いてありません。そんあときはM-tで接続することができます。
また、POPフォルダやIMAPフォルダのサマリの中にいる場合には"s"を入力することで、新しくメールを取得することができます。

 メールを作成し送信する

  • wで新規作成/aで返信/Aで引用して返信
  • 中止したいときはC-c kでバッファを削除
  • 送信はC-c C-c
  • ネットワークに接続していない場合にはqueueに保存されます
  • テンプレートを設定していて切替える場合はC-cC-j

mewのように送信時のアドレスを補間したい場合は、

miyo@dokodoko.server "miyo" "miyo"

というようなリストの羅列を~/.addressに記述しておかなければなりません。
ただし、mewでしようしていた、.mew-aliasをひっぱってくるemacs-lispパッケージもあります。
このリストへの追加は、もちろん、テキストで手で入力する他に、アドレスマネージャを利用することもできます。
アドレスマネージャーはC-cC-aで起動します。
また、サマリモードで'@'を入力することで、そのカーソルにあるメールのFrom:アドレスを追加することもできます。

 コマンドとかショートカット

大体は確かにmewと似ているのでよく使うものと、違っているもの

キー 操作
N 次の未読メールに移る
C-c TAB ファイルを添付する
C-c C-x C-i ファイルをエンコード方法(base64)とか指定してMIME添付
C-c w .signatureを挿入
C-o 自動振り分けの実行

普通はMIME添付します。

 色がケバいので

consoleで起動した場合

wl-console.el(1375)

X環境で起動した場合
wl-x.el(1315)

 添付ファイルのあるメールにマークをつける

ここを参考に
ただし、これを使うと、メーリングリストのグループ名等が表示されなくなってしまうので、私は、次のように記述。

(setq elmo-msgdb-extra-fields
(cons "content-type" elmo-msgdb-extra-fields))
(setq wl-summary-line-format-spec-alist
(append wl-summary-line-format-spec-alist
'((?@ (wl-summary-line-attached)))))
(setq wl-summary-line-format "%n%T%P%1@%M/%D(%W)%h:%m %t%[%17(%c %f%) %] %#%~%s")


 今までのメールをmbox形式に変換

packmboxを使うのが便利です。
FreeBSDにはja-mh*っていうのがあるので、パッケージからmhをインストール
.mh_profileに

Path: Mail

と書いた上で

/usr/local/lib/mh/packmbox +friends > ~/tmp/mail/friends

見たいな感じで変換することができます

#!/bin/sh

for f in $* ; do
        echo "/usr/local/lib/mh/packmbox +$f > ~/tmp/mail/$f"
        /usr/local/lib/mh/packmbox +$f > ~/tmp/mail/$f
done

こんな風に自動で回すと、いつのまにか終ってくれます

 簡単にセキュアにメール送受信

メールサーバにsshできる環境ならsshのportforwardingが便利。


 情報ソース

Wanderlust ユーザマニュアル