Mew 6 の設定方法

1 はじめに

Meadow 2.10 + Mew 6 の設定方法などをここにまとめておきます。
http://www.bookshelf.jp/soft/meadow_toc.html に多くの情報がある。

2 CONTENTS


3 Meadow, Mewのインストール

3.1 Meadow-2.10のインストール

  1. 環境変数HOME, TMP, TZをセットする
    例: HOME=c:\home\MyName
    TMP=c:\tmp
    TZ=JST-9
  2. Meadow-2.10-i386.tar.gz を、どこか(たとえば c:/usr/Meadow2) に展開。cygwinのtarで展開するのが良い。このディレクトリを以下 ${meadow} で表す。
  3. install.exe を実行。

3.2 Mew 6.xのインストール、設定

  1. http://www.mew.org/からMewのWindows用バイナリをDL、zipを展開
  2. Windowsの環境変数 HOME に自分の home directory を設定。例:「c:\home\MyName」
    環境変数 TZ に「JST-9」を設定。
  3. 展開したファイルの中のmew.exeを実行。
    ${meadow}/site-lisp/mew/ 配下に mewの *.el, *.elcファイルが配置される。
  4. .emacsに下記を追加
    (autoload 'mew "mew" nil t)
    (autoload 'mew-send "mew" nil t)
    (setq mew-use-suffix t)
    

4 Mew6の設定メモ

Mewの設定は、変更可能な部分が沢山有り、変更方法も一通りでないので、 どう設定するのが正しいということは言えないと思いますが、 私の設定している項目と設定例を書きます。

4.1 必須

必須の設定と思われるもの。
(autoload 'mew "mew" nil t)
(autoload 'mew-send "mew" nil t)
Mewのelispファイルをloadするために必要と思います。

4.2 全般

全般の設定というか、その他の設定というか。お好みで。
;(setq mew-mail-path "~/Mail2")
(setq mew-signature-insert-last t)
(setq mew-save-dir "~/mailtmp")
(setq mew-use-cached-passwd t)
(setq mew-use-suffix t)
(setq mew-search-method 'est)
(setq mew-use-thread-separator nil)

4.3 サーバの設定

mewは複数アカウントに対応しており、変数 mew-config-alist に設定を書く ことができます。デフォルトでは、CASE "default" の設定が使われます。 他のアカウントを使いたい場合には、'C'を押して、CASE名を入力します。
CASEが違っても、メールは同じフォルダに格納されます。
アカウントが1つしかない場合は、"default"だけ書けばよい。
POP, APOP, SMTP AUTH+port587(SSL無し) を使う場合の例を示します。
(setq mew-config-alist
      '(("PROVIDER_1_POP"                 ; CASE名 POP3を使う例
         ("name" . "YAMADA TARO")         ; 自分のリアルな名前
         ("user" . "yamada")              ; メールアドレスの名前部分
         ("mail-domain" . "example1.com") ; メールアドレスのドメイン部分
         ("pop-server" . "pop.example1.com") ; POPサーバ名
         ("pop-port" . "pop3")
         ("pop-auth" . pass)              ; use POP instead of APOP
         ("pop-user" . "yamada")          ; POPサーバに対するアカウント名
         ("smtp-server" . "smtp.example1.com") ; SMTPサーバ名
         ("smtp-user" . "yamada")         ; SMTPサーバに対するユーザ名
         ;("smtp-msgid-user" . "yamada")        ; MSG ID 生成に使われる文字列
         ;("smtp-msgid-domain" . "example1.com"); MSG ID 生成に使われる文字列
         ;("dcc" .  "yamada@example1.com"); 自分に複製を送りたいときに
         ("fcc" .  nil)
         ("pop-size" . 0)                 ;受信メールサイズのlimit
         )
        ("PROVIDER_2_APOP"                ; APOPを使う例
         ("name" . "YAMADA TARO")
         ("user" . "yamada")
         ("pop-user" . "yamada")
         ("mail-domain" . "example2.com")
         ("pop-server" . "pop.example2.com")
         ("pop-port" . "pop3")
         ;("pop-auth" . pass)             ; デフォルトはAPOP
         ("smtp-server" . "smtp.example2.com")
         ;("dcc" .  "yamada@example2.com")
         ("fcc" .  nil)
         ("pop-size" . 0)
         )
        ("default" ; SMTPにサブミッションポート587(SSL無し)を使う例
         ("name" . "YAMADA TARO")
         ("user" . "yamada")
         ("pop-user" . "yamada")
         ("mail-domain" . "example3.com")
         ("pop-server" . "pop.example3.com")
         ("pop-port" . "pop3")  ; see /etc/services
         ("smtp-server" . "smtp.example3.com")
         ;("prog-ssl" . "stunnel.exe")
         ("smtp-ssl" . nil)              ; SSL無し
         ("smtp-ssl-port" . "587")
         ("smtp-port" . "587")           ; サブミッションポート 587
         ("use-smtp-auth" . t)           ; SMTP認証を行う
         ("smtp-auth-list" . ("DIGEST-MD5" "PLAIN" "LOGIN"))
         ;("dcc" .  "yamada@example3.com")
         ("fcc" .  nil)
         ("pop-size" . 0)
         )
         ))

4.4 添付ファイル送信時のファイル名に日本語を使う

http://www.meadowy.org/~gotoh/mew.htmlから mew-fake-cdp-sending.el をDLし、${meadow}\site-lisp\ に置く。
.emacs に下記を書く。
(eval-after-load "mew" '(load "mew-fake-cdp-sending" t))
メール送信時、
「Really NON-ASCII filename? Re-enter filename: XXXXX」 に対し Enter、
「Use RFC-2231 encodien(y) or NON-RFC B-Enc(n)? (y or n)」 に対し 'n' と答える。
Mewでメールを送信する時に添付ファイルのファイル名に日本語を使うと、 Outlookなどで受信している人の ファイル名が化けてしまって、トラブルの元になります。 そういう場合はこれを使うとよい。

4.5 サマリに曜日を表示する

曜日を表示すると、直近のメールが、いつのものかわかりやすい。
設定変更後に読み込んだメールから反映される。
サマリを作り直すには、~/Mail/<folder>/.mew-summary を削除して、メール を読み直す。
(defun mew-summary-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-summary-form
      '(type (5 date) (2 youbi) " " (-4 time) " "
	     (14 from) " " t (0 subj)))
(setq mew-summary-scan-width 78)

4.6 ヘッダの表示/非表示の制御

メール本文表示画面のヘッダ部に表示するヘッダ/表示しないヘッダは、変数 mew-field-specで制御されています。 デフォルトカラーは ${meadow}\site-lisp\mew\mew-vars2.el で定義されています。
specのリストの要素の意味は、
(<ヘッダのパターン>, [<表示フラグ>, [<ヘッダ名の色>, [<値の色>]]])
です。
mew-vars2.elから、mew-field-specの内容を .emacsにコピーして、変えたい ヘッダの表示フラグを変えると、表示/非表示を切り替えることができます。
対象としたいヘッダパターンが書いてなければパターンを追加します。
ヘッダの表示順もmew-fiels-specで定義されている順番になります。
自分の見やすい順番に並べるとよいでしょう。
(setq mew-field-spec 
      '(("^Resent-\\(From\\|To\\|Cc\\|Date\\)" t mew-face-header-important mew-face-header-important)
	("^\\(To\\|Apparently-To\\):$" t mew-face-header-important mew-face-header-to)
	("^\\(Cc\\|Bcc\\):$" t mew-face-header-important mew-face-header-to)
	("^From:$" t mew-face-header-from mew-face-header-from)
	("^Sender:$" t mew-face-header-from mew-face-header-from)
	("^Reply-To:$" t mew-face-header-from mew-face-header-from)
	("^Subject:$" t mew-face-header-subject mew-face-header-subject)
	("^Newsgroups:$" t mew-face-header-important mew-face-header-to)
	("^Date:$" t mew-face-header-important mew-face-header-date)
	("^Message-[Ii]d:$" t)  ; Message-ID を表示するようにする
	("^X-Mailer:$" t)
	("^X-Mew:$" t)
	("^\\(Received\\|Return-Path\\|Sender\\|Errors-To\\):$" nil)
	("^\\(Posted\\|In-Reply-To\\|References\\|Precedence\\):$" nil)
	("^Delivered-" nil)
	("^List-" nil)
	("^\\(Mime-Version\\|Lines\\):$" nil)
	("^From$" nil)
	("^Status:$" nil)
	("^Precedence:$" nil)
	("^X-" nil)             ; X-* というヘッダは表示しないようにする
	("^[A-Z]+:$" t)         ; その他のヘッダがあれば表示するようにする
	))

4.7 テーマ

上記 mew-field-spec では、フォントの色などは「mew-face-header-important」 などの論理名(face名)を指定していました。そのfaceの実際の色を変えるには 次のようにします。
mewのパッケージに含まれている mew.dot.theme を ~/.mew-theme.el という名前 でコピーし、編集します。
.emacsに次の行を追加します。
(setq mew-theme-file "~/.mew-theme.el")
さて、「mew-face-header-important」というfaceの定義は、たとえば 次のようになっています。
(mew-setface-bold header-important
  :tty "cyan" :light "MediumBlue" :dark "white")
「:light」「:dark」とあるのは、背景色に応じて異なる色を定義するためです。 Meadowのbackground color(背景色)が白の場合は、(白は明るいので)「:light」 に指定した色が使われます。Background colorが黒の場合は、(黒は暗いので) 「:dark」に指定した色が使われます。自分の環境に合わせてどちらかを 修正します。
色名として設定できる色名リストを得るにはいくつか方法があります。 最後に、ボールドとノーマルの指定方法を説明します。 Face定義コマンドとして set-face-bold を使うと、ボールド(太字)になります。 set-face を使うとノーマルになります。
変更方法は以上です。
.mew-theme.el の例(抜粋):
(mew-setface header-subject
  :tty "yellow" :light "OrangeRed1" :dark "yellow")

(mew-setface header-from
  :tty "yellow" :light "DeepPink2" :dark "SpringGreen")

(mew-setface header-date
  :tty "green" :light "blue1" :dark "white")

(mew-setface header-to
  :tty "magenta" :light "DarkViolet" :dark "while")

;ヘッダのキー デフォルト
(mew-setface header-key   
  :tty "green" :light "ForestGreen" :dark "white")

(mew-setface-bold header-private)

(mew-setface-bold header-important
  :tty "cyan" :light "MediumBlue" :dark "white")

;ヘッダの値 デフォルト
(mew-setface header-marginal
  :light "black" :dark "white")

(mew-setface-bold header-warning
  :tty "red" :light "red" :dark "red")
同様にして、body-cite1〜5のfaceを変更すれば、 引用部分の色を変更することができます。
自分の見やすい色にするとよいでしょう。

図 サンプル

4.8 未読マーク

未読メールに「U」マークをつけるようにします。
(setq mew-use-unread-mark t)
(setq mew-unread-mark-list '((t t)))  ; ←全フォルダ対象。

4.9 振り分けの設定

振り分け規則を定義し、メールをフォルダに振り分けることができます。
; 推測に使うタグ
(setq mew-refile-guess-key-list 
      '("X-ML-Name:" "Resent-To:" "Resent-Cc:" "Resent-Bcc:" "Resent-Dcc:" "To:" "Cc:" "Dcc:" "Bcc:" "Apparently-To:"))

; 推測規則
(setq mew-refile-guess-alist
      '(("X-ML-Name:" 
	 ("neko-ml" . "+neko"))
	("X-ML-Name:" 
	 ("inu-ml" . "+inu"))
	("X-ML-Name:" 
	 ("game-ml" . "+game"))
;	("To:" 
;	 ("wide@wide" . "+wide/wide")
;	 ("adam"      . "+labo/adam"))
;	("Newsgroups:"
;	 ("^nifty\\.\\([^ ]+\\)" . "+Nifty/\\1"))
;	("From:" 
;	 ("uucp" . "+adm/uucp")
;	 (".*"   . "+misc"))
	))

; 候補をひとつだけ提示
(setq mew-refile-ctrl-multi nil)

; 推測に、明示的規則のみ利用
(setq mew-refile-guess-control
      '(mew-refile-guess-by-alist
	mew-refile-ctrl-auto-boundary))
私は振り分け機能はあまり使っていません。理由は、メールがフォルダに入っ てしまうとメールがどれだけあるか見えなくなってしまう、自動振り分けで意 図しないフォルダに入ってしまうと嫌、検索エンジンで検索するときフォルダ 指定するのが面倒、inboxに全部入っていてもインクリメンタルサーチや検索 エンジンで探せる、などです。
見ないMLのメールだけ振り分けていました。
振り分け機能の使い方

戻る

Last modified: Fri Dec 31 19:02:08 JST 2010