[Emacs] Windows10 の Emacs 27 で Mew を使ってみたらX-Faceも表示してみたくなった。

Emacs

すこし脱線してしまったけど、自宅でメールサーバを移行したついでに、 Emacs でも メールの読み書きができるように設定してみましたという話。

試した環境

Windows 10 Pro バージョン 20H2 (OSビルド 19042.868)
64bit版 GNU Emacs 27.1 公式ビルド
“GNU Emacs 27.1 (build 1, x86_64-w64-mingw32) of 2020-08-22”
Mew 6.8 Windows

概要

EmacsのメーラーはMewを使います。それ以外は使ったことがありません。たしかwanderlust というのもありましたね。もっとも、最近はEmacs でメールを読み書きすることはほとんどなくなってしまいました。ただ、メールがコミュニケーションの主要ツールだった時代に、Emacs でメールが書けるということには、ものすごく感動したものです。

手順

Melpa から Mew のパッケージをインストールします。

M-x package-install
mew

Mew関連のバイナリをインストール

Melpaだと、必要なバイナリはインストールしてくれない?ので、Mewの公式サイトから“Windows用バイナリ”をダウンロードして展開します。
mew-6.8\binにある cmew.exe, mewencode.exe, mewl.exe, smew.exe をパスの通った場所に展開しておきます。パスの通ったところであればどこでも良いかと思います。私は、%HOME%/bin に置いています。

Stunnel のインストール

stunnelの公式サイトからダウンロードしてインストールします。stunnel-5.58-win64-installer.exe
インストーラーを使うとデフォルトでは C:\Program Files (x86)\stunnel\bin にインストールされるので、ここにもPATHを通しておきます。

設定

.emacs と .mew に設定を書きます。

.emacs の設定例

;; 下記を追記します
;; Mew
(autoload 'mew "mew" nil t)
(autoload 'mew-send "mew" nil t)

.mewの設定例

自宅メールサーバとgmailを読み書きできるようにしてみました。

;; Password Cache
(setq mew-use-cached-passwd t)
(setq mew-passwd-timer-unit 120)

;; Master Password
;;(setq mew-use-master-passwd t)
(setq mew-use-master-passwd nil)

;; BIFF
(setq mew-use-biff t)
(setq mew-biff-interval 10)

;; global configurations
(setq mew-imap-header-only nil)
(setq mew-ask-subject t)

;; Download site: https://www.stunnel.org/downloads.html
(setq mew-prog-ssl "tstunnel")

;; メールアカウントの設定
(setq mew-config-alist
      '(
	(default
	 ("biff-interval" . 10)
	 ("name"        . "Washi Hage")
	 ("user"        . "washi")
	 ("from"        . "Washi ha Hage <washiha@hage.dayo>")
	 ("mail-domain" . "hage.dayo")
	 ("smtp-server" . "hage.dayo")
	 ("smtp-auth"   . t)
	 ("smtp-user"   . "washiha@hage.dayo")
	 ("smtp-ssl"   . t)
	 ("smtp-port" . "587")
	 ("smtp-ssl-port" . "587")
	 ("proto"       . "%")
	 ("imap-trash-folder" . "%Trash")
	 ("fcc"         . "%Sent")
	 ("imap-user"   . "washiha@hage.dayo")
	 ("imap-server" . "hage.dayo")
	 ("imap-auth"   . t)
	 ("imap-ssl"    . t)
	 ("imap-ssl-port" . "993")
	 ("signature-file"  . ".signature"))
	("gmail" ;; IMAP for Gmail
	 ("use-biff" . t)
	 ("use-biff-bell" . t)
	 ("biff-interval" . 10)
	 ("proto"       . "%")
	 ("name"        . "Washi Hage")
	 ("user"        . "washi")
	 ("signature-file"  . ".signature")
	 ("mail-domain" . "gmail.com")
	 ("smtp-user"   . "xxxxxxxxxx@gmail.com")
	 ("smtp-server" . "smtp.gmail.com")
	 ("smtp-auth"   . t)
	 ("smtp-ssl"   . t)
	 ("smtp-ssl-port" . "465")
	 ("imap-user"   . "xxxxxxxxxx@gmail.com")
	 ("imap-server" . "imap.gmail.com")
	 ("imap-auth"   . t)
	 ("imap-ssl"    . t)
	 ("imap-ssl-port" . "993")
	 ("fcc"         . "%[Gmail]/送信済みメール")
	 ("imap-trash-folder" . "%[Gmail]/ゴミ箱"))
	))

本当は、(setq mew-use-master-passwd t) としたかったのですが、Windows用のPGPの使い方がよくわからず、断念してしまいました。ここだけなんとかできないものか・・・。

使ってみる

M-x Mew で起動します。最初はC-u Z で IMAPフォルダのリストを取ってくる操作が必要です。
操作方法はマニュアルをみたりググったりすると良いと思います。

自分用メモ

消去したいフォルダーへ g %gomifolder で移動。そのフォルダで Rd とする。mew-summary-delete-folder が呼ばれフォルダが消される。

おまけ

X-face ってまだ使えるのだろうか・・・。と思って試したときのメモ。

設定メモ

公式サイトはもう無いみたいなので、Debianのパッケージサイトにあるファイルを使うことにした。
x-face.el を .emacs.d/site-lisp 等の load-path の通ったところに置く。

(add-to-list 'load-path "~/.emacs.d/site-lisp")

compface/netpbm のwindows用バイナリを取ってきて、解凍してPATHの通ったところへ。

X-Faceを作る

Windowsのペイントを使って48×48 モノクロビットマップの画像を適当に作る
NetPbm for Windows を使って xbmに変換する

$ bmptoppm xface_washi.bmp > xface_washi.ppm
$ ppmtopgm xface_washi.ppm > xface_washi.pgm
$ pgmtopbm xface_washi.pgm > xface_washi.pbm
$ pbmtoxbm xface_washi.pbm > xface_washi.xbm

XBMファイルをX-Faceエンコードする。

M-x load-library
Load library: x-face
M-x x-face-encode
[Encode] xbm file: ~/xface_washi.xbm
X-Face: <span class="bold-red">H\uJhX\GT|fdCNW5Ou)KW\~/Y#SS;5g^[QuJc.tiK2GY]|PC8qmuh9tGc:BhJyblF&%~Jj/
 ;\5fT&Y{^vu!Emq7P}V;1Xu$6N')xb@b5?^BnU-9u\~D:Yl,61<h_JP#<Y@7GrjClhl6U&nY=/a3vE
 _Umn\Zk-=<(7yZ.l.)%9GKefMq'\4w"Q,_bG$e!_^@=CZqLG?@r,9
X-Face: H\uJhX\GT|fdCNW5Ou)KW\~/Y#SS;5g^[QuJc.tiK2GY]|PC8qmuh9tGc:BhJyblF&%~Jj/
 ;\5fT&Y{^vu!Emq7P}V;1Xu$6N')xb@b5?^BnU-9u\~D:Yl,61<h_JP#<Y@7GrjClhl6U&nY=/a3vE
 _Umn\Zk-=<(7yZ.l.)%9GKefMq'\4w"Q,_bG$e!_^@=CZqLG?@r,9</span>

エンコード結果から X-Face: を省いたものを ~/.xface として保存しておくと、勝手に? Mewが読み込んでくれる。

うごいた!w

わし
わし

ただただ懐かしいなー。っていう。

コメント