2009-02-15

Cygwin上のEmacs でGmail, 2ch, hiki更新 (その4) Wanderlust

Cygwin上のEmacs でGmail, 2ch, hiki更新 (その3)
http://yourpalm.blogspot.com/2009/02/cygwinemacs-gmail-2ch-hiki-3.html
の続き...




Emacs上でGmailを見られるようにする - wanderlust


まず、下記ページを参考に、Gmailでimapを利用できるようにしておいてください。
IMAP を有効にするにはどうすればよいですか。 - Gmail ヘルプ
http://mail.google.com/support/bin/answer.py?answer=77695

作業の流れは
1) starttlsをインストール
2) APEL,FLIM,SEMIをインストール
3) Wanderlustをインストール
4) 設定ファイルの編集
です。

1) starttlsをインストール


Meadow setup - tuchiya.org Wiki
http://www.tuchiya.org/wiki/wiki.cgi?page=Meadow+setup#p4
を参考に手パッチを当てる必要があります。

$ cd
$ wget ftp://opaopa.org/elisp/starttls-0.10.tar.gz
$ tar xfz starttls-0.10.tar.gz
$ cd starttls-0.10
$ vim starttls.c

229行を
[編集前] char buffer[BUFSIZ], *retry;
[編集後] char buffer[BUFSIZ*8], *retry;
として保存してください。


$ ./configure

Cygwinのパッケージopenssl-develがインストールされていないとここで失敗します。
$ make
$ make install
$ cp starttls.el ~/.emace.d/elisp


2) APEL, FLIM, SEMIをインストール

いずれも、wanderlustをインストールするために前提となるelisp群です。
APELはDDSKKインストール時に導入しているので、ここでは、FLIM、SEMIをインストールします。


FLIM
http://www.kanji.zinbun.kyoto-u.ac.jp/~tomo/elisp/FLIM/
SEMI
http://www.kanji.zinbun.kyoto-u.ac.jp/~tomo/elisp/SEMI/


$ cd
$ cd tmp
$ wget http://www.kanji.zinbun.kyoto-u.ac.jp/~tomo/comp/emacsen/lisp/flim/flim-1.14/flim-1.14.9.tar.gz
$ tar xfz flim-1.14.9.tar.gz
$ cd flim-14.9
$ make
$ make install
$ cd ..
$ wget http://kanji.zinbun.kyoto-u.ac.jp/~tomo/lemi/dist/semi/semi-1.14-for-flim-1.14/semi-1.14.6.tar.gz
$ tar xfz semi-14.6.tar.gz
$ cd semi-14.6
$ make
$ make install


3) Wanderlustをインストール

cvs先端から取ってくることにします。
配布ページはセキュリティ証明書の期限切れで、Firefoxでは例外登録しないと表示できなくなっていました。w3mでは普通に表示できます。

Wanderlust
https://www.gohome.org/wl/index.ja.html

$ cd
$ cd tmp
$ cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/root login
$ cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/root checkout wanderlust
$ cd wanderlust
$ make
$ make install
$ cp util/ssl.el ~/.emacs.d/elisp


4) 設定ファイルの編集

・.emacs にWanderlust起動のための設定
・.wlにWanderlust起動時に読みこまれる設定
・.foldersにフォルダの設定
をそれぞれ記述します。


.emacs


;;;;;;;
;;;;;;; Wanderlust
;;;;;;;
(autoload 'wl "wl" "Wanderlust" t)
(autoload 'wl-other-frame "wl" "Wanderlust on new frame." t)
(autoload 'wl-draft "wl-draft" "Write draft with Wanderlust." t)




.wlの設定はいろんなところから寄せ集まっています。
ただ、どこの情報も英語環境前提のようなので、フォルダ名は日本語対応させています。

.wl


;; IMAP サーバの設定

(setq elmo-imap4-default-server "imap.gmail.com")
(setq elmo-imap4-default-user "xxxxx@gmail.com") ; gmailのアカウントを
(setq elmo-imap4-default-authenticate-type 'clear)
(setq elmo-imap4-default-port '993)
(setq elmo-imap4-default-stream-type 'ssl)

(setq elmo-imap4-use-modified-utf7 t) ; 日本語フォルダ対策

(setq ssl-program-name "openssl")
(setq ssl-program-arguments '("s_client" "-quiet" "-host" host "-port" service))

;; SMTP サーバの設定
(setq wl-smtp-connection-type 'starttls)
(setq wl-smtp-posting-port 587)
(setq wl-smtp-authenticate-type "plain")
(setq wl-smtp-posting-user "xxxxx") ; メールアドレスの@より前の部分
(setq wl-smtp-posting-server "smtp.gmail.com")
(setq wl-local-domain "gmail.com")

;; unique message-id
(setq wl-from "xxxxx@gmail.com")

;; デフォルトのフォルダ
(setq wl-default-folder "%inbox")

;; フォルダ名補完時に使用するデフォルトのスペック
(setq wl-default-spec "%")
(setq wl-trash-folder "%[Gmail]/ごみ箱")

;; 下書きディレクトリをローカルに設定する.
(setq wl-draft-folder "+Drafts")
;; 送信済みIMAPフォルダは送信と同時に既読にする
(setq wl-fcc-force-as-read t)
;; 非同期でチェックするように
(setq wl-folder-check-async t)

;; %inboxで削除してもメールが削除されるわけではない
(setq wl-dispose-folder-alist
(cons '("^%inbox" . remove) wl-dispose-folder-alist))

;; 大きなメッセージを分割して送信しない(デフォルトはtで分割する)
(setq mime-edit-split-message nil)
;; 警告無しに開けるメールサイズの最大値(デフォルト:30K)
(setq elmo-message-fetch-threshold 1000000)
;; プリフェッチ時に確認を求めるメールサイズの最大値(デフォルト:30K)
(setq wl-prefetch-threshold 1000000)


;; サマリで自分が差出人であるmailをTo:xxと表示する
(setq wl-summary-showto-folder-regexp ".*")
(setq wl-summary-from-function 'wl-summary-default-from)

;; OutlookExpressで送信されたメールの日本語添付ファイル名を開く
(setq mime-header-accept-quoted-encoded-words t)

;; 3ペイン表示
(setq wl-stay-folder-window t)
(setq wl-folder-window-width 35)


;;;------------------------------------------
;; summary-mode ですべての header を一旦除去
(setq mime-view-ignored-field-list '("^.*"))

;; 表示するヘッダ
(setq wl-message-visible-field-list
(append mime-view-visible-field-list
'("^Subject:" "^From:" "^To:" "^Cc:"
"^X-Mailer:" "^X-Newsreader:" "^User-Agent:"
"^X-Face:" "^X-Mail-Count:" "^X-ML-COUNT:"
)))

;; 隠すメールヘッダを指定
(setq wl-message-ignored-field-list
(append mime-view-ignored-field-list
'(".*Received:" ".*Path:" ".*Id:" "^References:"
"^Replied:" "^Errors-To:"
"^Lines:" "^Sender:" ".*Host:" "^Xref:"
"^Content-Type:" "^Content-Transfer-Encoding:"
"^Precedence:"
"^Status:" "^X-VM-.*:"
"^X-Info:" "^X-PGP" "^X-Face-Version:"
"^X-UIDL:" "^X-Dispatcher:"
"^MIME-Version:" "^X-ML" "^Message-I.:"
"^Delivered-To:" "^Mailing-List:"
"^ML-Name:" "^Reply-To:" "Date:"
"^X-Loop" "^X-List-Help:"
"^X-Trace:" "^X-Complaints-To:"
"^Received-SPF:" "^Message-ID:"
"^MIME-Version:" "^Content-Transfer-Encoding:"
"^Authentication-Results:"
"^X-Priority:" "^X-MSMail-Priority:"
"^X-Mailer:" "^X-MimeOLE:"
)))

;; 添付ファイルがあると『@』を表示する
(setq elmo-msgdb-extra-fields
(cons "content-type" elmo-msgdb-extra-fields))
(setq wl-summary-line-format-spec-alist
(append wl-summary-line-format-spec-alist
'((?@ (wl-summary-line-attached)))))
(setq wl-summary-line-format
"%n%T%P%1@%M/%D(%W)%h:%m %t%[%17(%c %f%) %] %s")

;; Gmailと同じように"!"で、迷惑メール送り
(defun st-wl-summary-refile-spam ()
(interactive)
(wl-summary-refile (wl-summary-message-number) "%[Gmail]/迷惑メール")
(wl-summary-next))
(define-key wl-summary-mode-map "!" 'st-wl-summary-refile-spam)
(define-key wl-summary-mode-map "\M-u" 'wl-summary-mark-as-unread)

;; 起動時からオフラインにする
(setq wl-plugged nil)




「.folder」ではなく「.folders」です。
初期設定は下記の通りしておいて、フォルダのみための編集はWanderlust起動後に行なったほうが楽でしょう。
.folders

%inbox
%/



ここまでの設定を終えて、Cygwin上で「emacs -f wl」とすると、wanderlustが起動するでしょう。
オンラインにして、%inboxの上でスペースキーを押すとGmailにアクセスできるようになっているはずです。


Cygwin上のEmacs でGmail, 2ch, hiki更新 (その5) Navi2ch
http://yourpalm.blogspot.com/2009/02/cygwinemacs-gmail-2ch-hiki-5-navi2ch.html
へ続く

0 コメント: