Mew僕は普段メールの読み書きに Mew を使っています。 Mew は Emacs Lisp で実装された、Emacs 上で動作する MUA です。 カスタマイズ性が非常に高いことと、RFC を厳格に守ることが特徴です。 UNIX 系技術者向きの MUA と言えるでしょう。 ここでは Mew の使い方を紹介します。 1. ソースの取得 一元配布元は ftp://ftp.mew.org/pub/Mew/release/ です。現時点 (2003 年 9 月 2 日現在) では Mew 4.x が beta バージョンとして開発中ですが、 ここでは、release バージョンである Mew 3.3 を導入します。 上記 URL から を取得します。 2. コンパイル Mew は基本的に Emacs Lisp で実装されていますが、一部、外部コマンドとして実装されている機能もあります。 このため、コンパイルが必要です。また、用意されている Emacs Lisp もバイトコンパイルした方が速いので、やはり、コンパイルの必要があります。 以下は、私の環境での作業手順です。自分の環境に合わせて、適宜、 読み替えてください。 まず、取得したソースを展開し、Makefile を編集します。 % zcat mew-3.3.tar.gz |tar xvf - % cd mew-3.3 % vi Makefile 私の場合は、Makefile のうち、以下の 3 箇所を変更します。
Makefile を編集したらコンパイルして、root になってインストールします。 % make % make jinfo % su # make install # make install-jinfo インストールが完了したら、以下の symbolic link を作っておきます。 # ln -s /usr/local/mew-3.3 /usr/local/mew 3. XEmacs の設定 Mew をロードするための必要最低限の設定を ~/.xemacs/init.el に記述し (~/.emacs に XEmacs の設定を記述する場合はそちらで構いません)、 Mew に関する細かい設定は ~/.mew.el に記述します。 ~/.xemacs/init.el には以下の記述を追加します。 ;; load-path の追加 (setq load-path (cons "/usr/local/mew/lib/xemacs/site-lisp" load-path)) ;; info path の追加 (setq Info-directory-list (cons "/usr/local/mew/info" Info-directory-list)) ;; Mew のロード (autoload 'mew "mew" nil t) (autoload 'mew-read "mew" nil t) (autoload 'mew-send "mew" nil t) 先程 Mew をインストールしたパスを load-path に追加します。 また、Mew の日本語 info を参照できるよう Info-directory-list (XEmacs の場合) に /usr/local/mew/info を追加しておきます。 ~/.xemacs/init.el を編集したら、バイトコンパイルしておきましょう。 4. Mew の設定 Mew に関する細かい設定は ~/.mew.el に記述します。 こちらも ~/.xemacs/init.el 同様、Emacs Lisp で記述します。 必要最低限の基本設定を以下に紹介します。
;; アイコンパスの設定
(setq mew-icon-directory "/usr/local/mew/lib/xemacs/etc/Mew")
;; exec-path の追加 (Mew 用)
(setq exec-path (cons "/usr/local/mew/bin" exec-path))
; From: フィールドで C-cTAB で循環的に From: の値を変化できる。
(setq mew-from-list '("Tetsuo NAKAGAWA <nakagawa@******.co.jp>"
"Tetsuo NAKAGAWA <tet@*****.jp>"))
;; SMTP
(setq mew-smtp-server "SMTP サーバ名")
;; POP
(setq mew-pop-server "POP サーバ名")
(setq mew-pop-port "pop3")
(setq mew-pop-auth 'apop)
;; "" で囲まれた base64 エンコード文字列をデコードする
(setq mew-decode-quoted t)
;; draft モード時には自動折り返し
(setq mew-draft-mode-hook '(lambda ()
(setq fill-column 60)
(auto-fill-mode 1)
(define-key mew-draft-mode-map "\C-c\C-i" 'insert-signature-eref)))
;; パスワードをキャッシュする
(setq mew-use-cached-passwd t)
;; パスワードをキャッシュする時間
(setq mew-passwd-timer-unit 60)
;; thread の表示をツリーっぽく見せる
(setq mew-use-fancy-thread t)
(setq mew-fancy-thread-indent-strings [" ┣" " ┗" " ┃" " "])
まず、XEmacs なのでアイコン表示が可能です。起動画面でもネコの写真が表示されます。 それらの画像のパスを mew-icon-directory で指定してやります。 Mew が呼び出す外部コマンド (incm, mewcat, mewdecode, mewencode, mewls) が exec-path からサーチできる必要があるので、exec-path に /usr/local/mew/bin を追加します。 mew-from-list は From フィールドに入る文字列をリストで指定します。 複数のメールアドレスを切り分ける場合、このように複数のアドレスを記述しておき、 メール作成時 (draft モード) に、From フィールドの所で C-c TAB を押すと、 循環的に From フィールドが変化します。 mew-smtp-server, mew-pop-server には、それぞれ SMTP サーバ、POP3 サーバの名前を入れます。 doted decimal 形式の IP アドレス文字列でも構いません。 mew-pop-auth はデフォルトで 'apop となりますが、POP3 サーバ側が APOP に対応していない場合は、 'pop と記述すれば POP3 で通信するようになります。 Mew は POP 認証用のパスワード文字列を設定ファイルに保持することができません (セキュリティを考慮してパスワードをファイルに書かない仕様になっています)。 このため、メールを取り込む度に POP パスワードを入力する必要がありますが、 mew-use-cached-passwd を t にしておけば、一度入力したパスワードを一定時間 Mew が記憶しておいてくれるので、便利です。 パスワードを記憶しておく時間は mew-passwd-timer-unit で分単位で指定します。 5. 使い方 基本的にキーボード入力で操作しますので、キーバインドを暗記しておかないと Mew を使うのはつらいでしょう。まずは XEmacs 上から M-x mew と叩いて Mew を起動します。そうすると、猫の画像が表示され、 Mew が起動します。 基本的な使い方は、付属する info が充実しているので、 そちらを参照してください。XEmacs 上で M-x info すれば、参照できる info の一覧が表示されます。 Mew の日本語版 info をインストールし、Info-directory-list にパスを追加してあれば、 info の一覧の中に Mew-J があるはずなので、それを参照してください。 以下に、基本的なキーバインドを簡単に紹介しておきます。
6. カスタマイズ - Summary モードで曜日と時刻を表示する Mew 3.x のデフォルト状態での Summary モードの表示は以下のようになっており、 左から順に、メール番号 (ファイル名に直結)、日付、差出人、Subject、が表示されます。
しかし、仕事で使っていると、Summary モードで日付だけではなく、 時刻や曜日も表示してくれた方が便利なことが多い。 Mew 3.x では mew-scan-form によって、Summary モードのフォーマットを指定します。 つまり ~/.mew.el にて mew-scan-form を自分で定義することによって、 Summary モードのフォーマットを自由にカスタマイズすることが可能です。 私は ~/.mew.el に以下の記述を追加することで、 時刻と曜日も表示しています。
(defun mew-scan-form-youbi ()
(let ((s (MEW-DATE)))
(if (>= (length s) 3) (setq s (substring s 0 3)))
(cond
((string= s "Mon") "月")
((string= s "Tue") "火")
((string= s "Wed") "水")
((string= s "Thu") "木")
((string= s "Fri") "金")
((string= s "Sat") "土")
((string= s "Sun") "日")
(t "??"))))
(setq mew-scan-form
'(type (5 date) "(" (2 youbi) ")[" (-4 time) "] "
(14 from) " " t (0 subj)))
これは [mew-dist 18319] で紹介されていた方法をそのまま使わせて貰っています。 ちなみに、Summary モードのフォーマットは Mew 3.x では mew-scan-form で指定しますが、 Mew 4.x は mew-summary-form で指定するように変更されていますので、注意してください。 ~/.mew.el を変更したら、バイトコンパイルし、Mew を再起動します。 Summary モードの表示内容は .mew-cache に保存されているので、 mew-scan-form を変更した後は、Summary モードで 's' を叩き、 メッセージバッファの Range (update): に対して 'all' を入力して、Summary バッファの表示を再作成します。 これで、以下のように、日付、曜日、時刻、差出人、Subject、 というフォーマットになります。
7. POP over SSH / SMTP over SSH Mew では、POP サーバや SMTP サーバとの通信を ssh でトンネリングすることが出来ます。 ~/.mew.el に以下の設定を追加するだけで OK です。 (setq mew-pop-ssh-server "POP サーバ名") (setq mew-smtp-ssh-server "SMTP サーバ名") これらが設定されていると、例えば Mew 起動後、初めて POP サーバからメールを取得する際に、 メッセージバッファに SSH password: と表示され、ssh の passphrase を要求されますので、入力します。 この段階で、サーバとの間に ssh によるトンネルが生成されます。 続いて、メッセージバッファに APOP password: と表示され、POP パスワードを要求されますので、これも入力します。 これで、ssh のトンネル経由で POP サーバとの通信が行われます。 SMTP の場合も同様です。 当然ですが、事前に POP サーバ、SMTP サーバに対して ssh でログインできるよう、 ssh の設定をしておく必要があります。 TetsuoSTREAMS > FreeBSD > Mew |