EmacsでGmail IMAPを触る

ついに、Gmailで待望のIMAPサポートが追加されました!もう何年もGmailIMAPサポートがあればなぁ、と待ち望んでいたので、極めてうれしいです。

これで、

  • 普段は、Gmailの安定したバックエンド + フロントエンドの軽快なメーラ
  • 出先や他のPCを使う時は、GmailのウェブUI

という理想的な使い分けができるようになります。いかにGmailのUIが素晴しくても、ローカルクライアントの軽快さにはかなわないですからね。

ここで、IMAPクライアントとしてどのメーラがいいか?という話になるのですが、オールドタイプのEmacs厨としては、Wanderlustが一押しです。Thunderbirdなんて軟弱者向けです。mewも悪くはないですが、IMAPでのソートをサポートしていないのが致命的です。

というわけで、Gmail向けのWanderlustの設定をまとめてみました。Emacs信者の方は、この機会にメーラもEmacs上に移行してはいかがでしょう。

インストールするもの

.emacs

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; wl
(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(抜粋)

  • 必須設定
;; IMAP サーバの設定
(setq elmo-imap4-default-server "imap.gmail.com")
(setq elmo-imap4-default-user "[email protected]") ; 適宜修正してください
(setq elmo-imap4-default-authenticate-type ’clear) ; 以下3行コメント欄での指摘により追記
(setq elmo-imap4-default-port ’993)
(setq elmo-imap4-default-stream-type ’ssl)

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

;; SMTP サーバの設定
(setq wl-smtp-connection-type 'starttls)
(setq wl-smtp-posting-port 587)
(setq wl-smtp-authenticate-type "plain")
(setq wl-smtp-posting-user "username") ; 適宜修正してください
(setq wl-smtp-posting-server "smtp.gmail.com")
(setq wl-local-domain "gmail.com")
  • お勧め設定
;; デフォルトのフォルダ
(setq wl-default-folder "%inbox")

;; フォルダ名補完時に使用するデフォルトのスペック
(setq wl-default-spec "%")
(setq wl-draft-folder "%[Gmail]/Drafts") ; Gmail IMAPの仕様に合わせて
(setq wl-trash-folder "%[Gmail]/Trash")

(setq wl-folder-check-async t) ; 非同期でチェックするように

(setq wl-dispose-folder-alist
      (cons '("^%inbox" . remove) wl-dispose-folder-alist))

最後のwl-dispose-folder-alistは、inboxフォルダでの削除を「Archive」と同じ結果にするためのものです。一般に、GmailIMAPサポートとでは、フォルダによって、削除の意味が変わってきます(ref. https://mail.google.com/support/bin/answer.py?answer=78755)。inboxフォルダで普通にIMAPの削除をすればArchive相当になるのですが、Wanderlustはデフォルトでは自分でTrashフォルダに移動させてしまいます。これはあまりうれしくない挙動なので、inboxフォルダでの削除を通常の削除とするようにしています。

.folder

%inbox
%/

追記

そういえば、一般的なメーラの操作とGmailでの扱われ方の対応表によると、SPAM指定は、%[Gmail]/Spamフォルダへの移動、ということなので、ワンアクションでSPAM指定できるようにしたいものです。

追記2

wanderlust で Gmail の IMAP を使う - 適当めも」より、日本語のフォルダが化ける場合には以下の設定が有効なようです。あまり日本語フォルダを使っていなかったので、気付きませんでした。id:buzztaikiさん、どうも!

(setq elmo-imap4-use-modified-utf7 t)