Mew (Messaging in the Emacs World)

[ 戻る | トップページに戻る ]

概要

Mew とは Emacs/XEmacs で動く MIME 対応の MUA である。RFC にかなり厳格。

URL

http://www.mew.org/index-j.html (Official Homepage)

インストール環境

Plamo Linux 1.4.4 (Kernel 2.2.12 + libc5)
Mule-2.3
Mew-1.94

Slackware 7.0 (Kernel 2.2.14 + glibc 2.1.2)
Plamo Linux 2.2.1 (Kernel 2.2.19 + glibc 2.2)
Emacs-20.4, 20.7 and XEmacs-21.1.9
Mew-2.x

必要なもの

XEmacs or Emacs or Mule, im

バージョン

1.94, 1.94.2, 2.0, 2.1, 2.2

インストール手順 (Plamo の場合 〜1.94.2)

まず、im/mew のインストールに先立ち、Plamo 1.4.4 お勧めパッケージでデフォルト でインストールされている Mew-1.93 & im-100 をアンインストールする。
$ su
# removepkg mew
# exit

ではソースを展開。
$ tar xvfz mew-1.94.tar.gz
$ cd mew-1.94

Makefile を以下のように修正。
#EMACS = emacs
#EMACS = xemacs    <--- コメントアウト
EMACS = mule       <--- 行頭の # を削除
(snip)
#ELISPDIR  = $(PREFIX)/lib/$(EMACS)/site-lisp   <--- コメントアウト
ELISPDIR = $(PREFIX)/share/emacs/site-lisp/mew-1.94
                                           ~~~~~~~~追加 & 行頭の # を削除
#ELISPDIR = $(PREFIX)/lib/emacs
(snip)
ETCDIR = $(PREFIX)/lib/$(EMACS)/etc/Mew

ではコンパイル & インストール。
$ make
$ su
# mkdir /usr/local/share/emacs/site-lisp/mew-1.94
# make install
# make install-info
# make install-jinfo
# exit

make info/make jinfo するとエラー。でも、実際には実行する必要なし。 Mule はそのままで OK ...らしい。
また、make install-(j)info すると以下のようなメッセージが表示されるが、 /usr/local/info/dir には自動的に追加される。
# make install-info
cd info; make install-info INFODIR=/usr/local/info
make[1]: Entering directory `/usr/local/src/mew-1.94.2/info'
Don't forget to edit /usr/local/info/dir for Mew.
make[1]: Leaving directory `/usr/local/src/mew-1.94.2/info'

~/.emacs の該当エントリを以下のように修正する。
(setq load-path
      (append '("/usr/local/share/emacs/site-lisp/mew-1.94.2")
                                                  ~~~~~~~~~~修正
              load-path))
(setq mew-icon-directory "/usr/local/share/emacs/etc/Mew")
                                     ~~~~~~~~~~~~~~~~~~~修正

この状態で、Mew を起動、送信、受信ともに特に問題なし。 メール本文の最後に [End of message] の表示が付くようになったのが目に付くくらい か。だが、o でリファイルしようとすると以下のエラーが表示される。
Symbol's function definition is void: mew-refile-guess-by-msgid

~/.emacs を以下のように修正。
;; refile の推測ルール指定
(defvar mew-refile-guess-control
      '(
        mew-refile-guess-by-alist
        mew-refile-ctrl-auto-boundary ; 自動整頓の推測ルールはここまで
        mew-refile-guess-by-folder
        mew-refile-guess-by-from
        mew-refile-guess-by-msgid       <--- 削除
        mew-refile-guess-by-default
      ))

これでリファイルもおっけー。おしまい。

インストール手順 (Slackware 7.0 の場合 〜1.94.2)

まずは LJJP の mew 関連パッケージを削除しておく。
$ su
# removepkg im130
# removepkg mew140
# exit
$ tar xvfz mew-1.94.2.tar.gz
$ cd mew-1.94.2

Makefile を以下のように修正 (Emacs の場合)。
EMACS = emacs       <--- 行頭の # を削除
#EMACS = xemacs     <--- コメントアウト
#EMACS = mule
(snip)
#ELISPDIR  = $(PREFIX)/lib/$(EMACS)/site-lisp          <--- コメントアウト
ELISPDIR = $(PREFIX)/share/emacs/site-lisp/mew-1.94.2
                                          ~~~~~~~~~~~追加 & 行頭の # を削除
#ELISPDIR = $(PREFIX)/lib/emacs
(snip)
ETCDIR = $(PREFIX)/lib/$(EMACS)/etc/Mew

Makefile を以下のように修正 (XEmacs の場合)。
#EMACS = emacs
EMACS = xemacs
#EMACS = mule
(snip)
ELISPDIR  = $(PREFIX)/lib/$(EMACS)/site-lisp/mew-1.94.2
                                             ~~~~~~~~~~追加
#ELISPDIR = $(PREFIX)/share/emacs/site-lisp
#ELISPDIR = $(PREFIX)/lib/emacs
(snip)
ETCDIR = $(PREFIX)/lib/$(EMACS)/etc/Mew

コンパイル & インストールでおしまい。
$ make
$ make info              (XEmacs の場合のみ)
$ make jinfo             (XEmacs の場合のみ)
$ su
# make install
# make install-info
# make install-jinfo
# make install-etc       (XEmacs の場合のみ)
# exit

インストール手順 (for 2.0 〜 2.1)

$ tar xvfz mew-2.0.tar.gz
$ cd mew-2.0

Makefile を以下のように修正。
##
## A directory where mew*.el[c] will be installed.
##

elispdir = $(prefix)/share/emacs/site-lisp/mew-2.0
                                              ~~~~追加
#elispdir  = $(prefix)/lib/$(EMACS)/site-lisp
#elispdir = $(prefix)/lib/emacs

コンパイル & インストールでおしまい。
$ make
$ make info              (XEmacs の場合のみ)
$ make jinfo
$ su
# make install
# make install-jinfo
# exit

~/.emacs 等で適宜ロードパスを書き換えて、emacs/mew を再起動。 すると問題なく Mew 2.0 が起動する。
が、Summary バッファを表示した段階で APOP パスワードを聞いてくる。 ./contrib/00readme を見ると...
;; To use local mailbox "mbox" or "maildir" instead of POP
;(setq mew-mailbox-type 'mbox)
;(setq mew-mbox-command "incm")
;(setq mew-mbox-command-arg "-d /path/to/mbox")
;; If /path/to/mbox is a file, it means "mbox".
;; If /path/to/mbox is a directory, it means "maildir".

ふむ。-d オプションの引数がよくわからんが、とりあえず以下のように書いてみる
(setq mew-mailbox-type 'mbox)
(setq mew-mbox-command "incm")
(setq mew-mbox-command-arg "-d /var/spool/mail")

これで APOP パスワードは聞いてこなくなった。 が、これでメールを送ろうとすると、個人用 ISP の SMTP サーバに投げちゃう。 そういえば IM とは決別したのか。 とはいえ、このアドレスってどっから引っ張ってきているのだ??
SMTP の件は以下の変数をセットすることで解決。
(setq mew-smtp-server "smtp-server.hoge.co.jp")

受信は相変わらず、よく分からない。ふと incm がないのか、と思い当たる。(^^;
./contrib にある mewinc を使ってみる。
1 行目の perl パスを修正。あとはデフォルトのままで、 mewinc を /usr/local/bin にコピーする。 最後に ‾/.emacs を以下のように設定 (setq mew-mbox-command-arg は要らない) 。
(setq mew-mailbox-type 'mbox)
(setq mew-mbox-command "mewinc")

これでおっけー。無事、送受信できるようになった。
以下、メモ書きまでに 2.0 での変更点をいくつか (詳しくは Info を参照のこと) 。

インストール手順 (for 2.2〜)

基本的には mew-2.0 と同じ手順。一点、local spool からの受信設定が違っている。
mew-2.1 まではあった mewinc が contrib からなくなっているので、 ‾/.emacs を以下のように設定し、incm を使うように変更する。
Perl スクリプトから実行形式プログラムになった事で、なんだか早くなったみたい。
(setq mew-mailbox-type 'mbox)
(setq mew-mbox-command "incm")
(setq mew-mbox-command-arg "-d /var/spool/mail/foo")   <--- foo はユーザ名に適宜読み換えること

[ 戻る | トップページに戻る ]