WanderlustをCarbonEmacsにインストールしてIMAPでGmailを読めるようにする
PlaggerでMixi日記をGmailで読むことが出来るようになったので、今度はGmailをEmacs上で読めるようにしてみようと思う。
IMAPが使えて便利なEmacsメーラーということで、発見したのがWanderlust。
まずはWanderlustのインストール。
CarbonEmacsには半分デフォルトでワンダーラストが入っている。
Help > Carbon Emacs Package > Net-Install > Wanderlust
を選択すればインストール完了。簡単。
で、残るは設定。
基本的にEmacsでGmail IMAPを触る:とあるはてな社員の日記 のソースをコピーしてくれば問題ない、はずなのだが、上手くいかず。
原因の一つが、全角で記号が書かれている部分が存在すること。
ということで、別のソースを使わせていただいた。
http://az-yet.blogspot.com/2007/11/wanderlust-gmail.html:Wanderlust で Gmail を使用する
これを参考に、実際に設定した内容は以下の通り。
.emacs.elに以下を追加
;; 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を作成
;;; Wanderlust 設定ファイル ;;; 一般的なメーラの操作とGmailでの扱われ方の対応表 ;;; https://mail.google.com/support/bin/answer.py?answer=77657 ;; IMAP サーバの設定 (setq elmo-imap4-default-server "imap.gmail.com") (setq elmo-imap4-default-user "your@email") ; メールアドレス (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) ; 日本語フォルダ対策 ;; SMTP サーバの設定 (setq wl-smtp-connection-type 'starttls) (setq wl-smtp-posting-port 587) (setq wl-smtp-authenticate-type "plain") (setq wl-smtp-posting-user "goryugo33") ; 適宜修正 (setq wl-smtp-posting-server "smtp.gmail.com") (setq wl-local-domain "gmail.com") ;; 一意なmessage-ID 動的IPアドレスの場合に設定。何か適当な文字列を。例えばメールアドレスとか。 (setq wl-from "表示名 <メアド>") ;;;------------------------------------------ ;;; その他の設定 ;; デフォルトのフォルダ (setq wl-default-folder "%inbox") ;; 削除をGmail仕様に (setq wl-dispose-folder-alist (cons '("^%inbox" . remove) wl-dispose-folder-alist)) ;; フォルダ名補完時に使用するデフォルトのスペック (setq wl-default-spec "%") (setq wl-draft-folder "%[Gmail]/Drafts") ; Gmail IMAPの仕様に合わせて (setq wl-trash-folder "%[Gmail]/Trash") ;; 画面を普通のメーラみたいな 3ペインに (setq wl-stay-folder-window t) ;; 下書きディレクトリをローカルに設定する. (setq wl-draft-folder "+Drafts") (setq wl-folder-check-async t) ; 非同期でチェックするように ;; 大きなメッセージを分割して送信しない(デフォルトはtで分割する) (setq mime-edit-split-message nil) ;; 起動時からオフラインにする ;; (setq wl-plugged nil) ;; サマリモードで日時を英語表示 ;; (setq wl-summary-weekday-name-lang 'en) ;; HTMLファイルは表示しない。 ;;(setq mime-setup-enable-inline-html nil) ;; メールを書くときは見出し画面を残して、フル画面にする (setq wl-draft-reply-buffer-style 'keep) ;; 送信済みIMAPフォルダは送信と同時に既読にする (setq wl-fcc-force-as-read t) ;; 最初からスレッドを開いておかない ;;(setq wl-thread-insert-opened nil) ;; スレッドを分割するしきい値(デフォルト:30) (setq wl-summary-max-thread-depth 30) ;; 警告無しに開けるメールサイズの最大値(デフォルト:30K) (setq elmo-message-fetch-threshold 500000) ;; プリフェッチ時に確認を求めるメールサイズの最大値(デフォルト:30K) (setq wl-prefetch-threshold 500000) ;;;------------------------------------------ (setq wl-dispose-folder-alist (cons '("^%inbox" . remove) wl-dispose-folder-alist)) ;;;------------------------------------------ ;;; from,to のデコード指定。 (mime-set-field-decoder 'From nil 'eword-decode-and-unfold-unstructured-field-body) (mime-set-field-decoder 'To nil 'eword-decode-and-unfold-unstructured-field-body) ;;;------------------------------------------ ;; 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:" ))) ;;;--------------------------------------------------- ;; ファイル名が日本語の添付ファイルをデコードする [semi-gnus-ja: 4332] (eval-after-load "mime" '(defadvice mime-entity-filename (after eword-decode-for-broken-MUA activate) "Decode eworded file name for *BROKEN* MUA." (when (stringp ad-return-value) (setq ad-return-value (eword-decode-string ad-return-value t))))) ;; ファイル名が日本語の添付ファイルをエンコードする [semi-gnus-ja: 6046] (eval-after-load "std11" '(defadvice std11-wrap-as-quoted-string (before encode-string activate) "Encode a string." (require 'eword-encode) (ad-set-arg 0 (or (eword-encode-string (ad-get-arg 0)) "" )) )) ;; 添付ファイルがある場合は「@」を表示 (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")
ホームディレクトリに.foldersを作成
%inbox "受信トレイ" %[Gmail]/Starred "☆" +Drafts "下書き" %work "仕事" %[Gmail]/All Mail "全てのメール" %[Gmail]/Sent Mail "送信済みメール" %[Gmail]/Trash "ゴミ箱" %[Gmail]/Spam "迷惑メール"
(%inbox以外は無くても問題なし。上記のように、%[Gmail]/なんたら で、Gmailの特殊フォルダにアクセスも可能。通常のラベルは%ラベル名で問題なし)
で、M-x wl でWanderlust起動。
簡単な操作方法などはここを参考にさせてもらった。
でこの後、HTMLメール、添付画像等を再生できるようにした(w3mインストールとか)のだが、苦戦しすぎて、ごちゃごちゃ色んなものをインストールし過ぎて、どれが有効だったのかよくわかっていない。
これらはもう少し理解が深まったらまとめてみようかと思います。
- その他参考サイト
Wanderlust で Gmail の IMAP を使う(導入編)
http://www.tbrook.net/computer/index.cgi?1048035258
gmailのimap機能をwanderlustから使ってみる
http://nabeo.blogspot.com/2007/11/gmailimapwanderlust.html
GmailをIMAPで読む方法
http://209.85.175.104/search?q=cache:gflhHDFkVHEJ:gmail.1o4.jp/imap.html+gmail+wanderlust+trash&hl=ja&ct=clnk&cd=6&client=safari
多くの先人たちに感謝。