Hatena::ブログ(Diary)

田中慎司のログ

2007-10-25

EmacsでGmail IMAPを触る

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

これで、

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

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

ここで、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 "username@gmail.com") ; 適宜修正してください
(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)

fubabzfubabz 2007/10/27 09:56 こんにちは。
わたしもimap@gmailのニュースを見て、すぐwanderlustからのアクセスを考えて、自分のgmailアカウントでimapが有効になるのが待ち遠しかったです。

本日やっと有効になったので試しているんですけど認証に失敗してしまって困っていると、検索でこちらを拝見しました。

すみませんが、以下の変数の値を教えていただければうれしいです。御紹介の設定のコピペでも失敗してしまうのです。

elmo-imap4-default-authenticate-type
elmo-imap4-default-port
elmo-imap4-default-stream-type

よろしくおねがいします。

さっちーさっちー 2007/10/27 17:05 わたしもコピペで失敗しましたが下記追加してOKでした。
ご参考まで。

(setq elmo-imap4-default-authenticate-type ’clear)
(setq elmo-imap4-default-port ’993)
(setq elmo-imap4-default-stream-type ’ssl)

fubabzfubabz 2007/10/28 08:41 さっちーさんありがとうございます。
残念ながら実はその設定で試してダメだったのでここでお聞きしたんです。

で、複数の他のクライアントで試したところ、いずれも「your account is not ready for IMAP」というエラーで返ってくるので、wanderlustではなくサーバ側の問題のようです。gmail設定で「IMAP enable」だけではダメ???

数日待って再試行してみます。

fubabzfubabz 2007/10/30 20:10 多くのgmailユーザも同じ障害にあっているようです。gmailの掲示板にありました(以下アドレス)。
gmail担当のポストもあったので、近いうちに解消されそうです。

http://groups.google.com/group/Gmail-POP-and-Forwarding/browse_thread/thread/274bff12bf749f94/55b38106bf129de8?lnk=gst&q=not+ready#55b38106bf129de8

buzztaikibuzztaiki 2007/11/05 23:40 ↓これを書いておかないと、gnus の utf7 が使われて日本語の decode に失敗するので気をつけて下さいませ。
(require ’utf7
(expand-file-name
”utf7” (file-name-directory (locate-library ”wl”))))

fubabzfubabz 2007/11/08 10:55 わたしのメインのgmailアカウントも今朝やっとIMAPできるようになりました。流量の少いサブのアカウントはとっくにIMAPしていましたが…

emacs22が理由だと思いますけど、require ’utf7 なしでも日本語タグいまのところ文字化けありません。

あと、メイン以外のgmailアカウントについては ~/.foldersに

%inbox:”XXXXX@gmail.com”/clear@imap.gmail.com:993!”PETNAME”
%:”XXXXX@gmail.com”/clear@imap.gmail.com:993!/

などとやるようです。

KoshianXKoshianX 2008/02/24 03:12 いまさらコメントつけてすみません。
この当時はどうかわかりませんが、いま wl-draft-folderを[Gmail]/Draftsにしておくと、メール書いてるときこまめに保存されて悲しい目にあいませんか?
すべてのメールを見ると書きかけのメールがごそっとあったりしてしょんぼりします。
このような現象にはどう対応されてるのでしょうか?

hig3hig3 2010/11/03 09:06 さらにいまさらです. ~/.folder でなく ~/.folders です.

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証