読者です 読者をやめる 読者になる 読者になる

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

yourpalm.jubenoum.com

の続き...

2010.01.14 Gmailのssl設定が変わっていたようなので更新しました。

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[BUFSIZ8], *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 http://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
;;;;;;;
(setq ssl-certificate-verification-policy 1)
(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 "gnutls-cli")
(setq ssl-program-arguments '("-p" service host))
; update 2010.01.14
;(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にアクセスできるようになっているはずです。


yourpalm.jubenoum.com

へ続く