Mew 3.3 + stunnel
というわけで [2007-12-03],正月休みを待たずに早速入れてみた.何も考えずに make && make install でおk.
.mew.el もそのまま使えている.いい感じだ.
stunnel に関しては,
(setq mew-smtp-ssl t) (setq mew-ssl-cert-directory "/usr/local/etc/stunnel/") (setq mew-prog-ssl "/usr/local/sbin/stunnel") (setq mew-smtp-user "username") (setq mew-smtp-server "smtp.example.org") (setq mew-smtp-ssl-port "465") (setq mew-ssl-verify-level 0) (setq mew-ssl-verify-version 0)
みたいな感じでうまくいった.Mew 自身から stunnel で直接叩けるのは確かにありがたい.
ちなみに mew-ssl-verify-level と mew-ssl-verify-version を 0 にしないと,なぜか
(Cannot create to the SSL connection)
が出るほか,*Mew Debug* でも
VERIFY ERROR
が出てうまく接続できなかったので注意.
あと,mhc が mew-3.3 で廃止された関数 mew-match を使ってるせいでエラー吐いた.ので,やっつけで以下のように修正してみた (最新版を取って来れば済む話だけど,最新版の使い勝手があまり好きではないので).なぜかバイトコンパイルしたらエラーが出るので,そのまま使う.
--- mhc-mew.el.orig Mon Feb 18 19:46:44 2002 +++ mhc-mew.el Wed Dec 26 21:20:13 2007 @@ -50,6 +50,9 @@ (add-hook 'mew-virtual-mode-hook 'mhc-mode) (add-hook 'mew-quit-hook 'mhc-exit)) +(if (fboundp 'mew-match) + (defalias 'mhc-mew/match-string 'mew-match) + (defalias 'mhc-mew/match-string 'match-string)) ;; Backend methods: @@ -260,7 +263,8 @@ (when (and ct (string-match "^multipart/" ct) (or (string-match "boundary=\"\\([^\"]+\\)\"" ct) (string-match "boundary=\\(.+\\)" ct))) - (setq boundary (regexp-quote (mew-match 1 ct))) +; (setq boundary (regexp-quote (mew-match 1 ct))) + (setq boundary (regexp-quote (mhc-mew/match-string 1 ct))) (let ((case-fold-search nil)) (unless (and boundary (re-search-forward (concat "^--" boundary "$") nil t) @@ -365,9 +369,12 @@ (setq tmpstr (substring string (match-end 0))) (setq ret (concat ret (substring string 0 (match-beginning 0)) - (mew-header-decode (mew-match 1 string) - (mew-match 2 string) - (mew-match 3 string)))) +; (mew-header-decode (mew-match 1 string) +; (mew-match 2 string) +; (mew-match 3 string)))) + (mew-header-decode (mhc-mew/match-string 1 string) + (mhc-mew/match-string 2 string) + (mhc-mew/match-string 3 string)))) (setq string tmpstr))) ret))
関連記事: