Subscribed unsubscribe Subscribe Subscribe

@peccul is peccu

(love peccu '(emacs lisp cat outdoor bicycle mac linux coffee))

= MewでiCloudのメールを読み書き

[2011-12-01 02:08:32]

EmacsAdventCalendarJPの2日目です.
昨日はid:syohexさんのquickrun.elで開発効率アップ - Life is very shortでした.
明日は@takaxpさんのemacs:org-tree-slide - PastelWikiです.

一時Mewを離れてMail.appに浮気していたのですが,やっぱりMewのauto-refileが強力なのでまたMewに戻ってきました.

最近iCloudのアカウントを作ったらメールアドレスもらえたので,Mew複数アカウント切り替えたりiCloudのメール読み書きする設定をさらそうと思います.
SoftwareDesignのEmacs虎の巻とかぶってるかも..mew.elをとりあえず貼付けるとこんな感じ.実際は7アカウント分の設定あるけど2つだけ.

(setq mew-config-alist
      '(
        (default
          (name              "peccu")
          (user              "peccul")
          (mail-domain       "gmail.com")
          (ssl-verify-level  0)
          ;; setting for IMAP
          (proto             "%")
          (inbox-folder      "%inbox")     ;IMAPではinboxフォルダに固定されるので,意味が無い
          (imap-user         "peccul")
          (imap-server       "imap.gmail.com")
          (imap-ssl          t)
          (imap-ssl-port     993)
          (imap-delete       nil)
          (imap-auth         t)
          (imap-size         0)
          (imap-header-only  nil)
         ;; setting for SMTP
          (smtp-user         "peccul")
          (smtp-server       "smtp.gmail.com")
          (smtp-ssl          t)
          (use-smtp-auth     t)
          ;; (smtp-port         465)
          (smtp-ssl-port     587)
          (smtp-port         587)       ;サブミッションポート
          (use-submission    t)
          )
        (cloud
         (signature-file    "~/.emacs.d/.signature")
         (name              "peccu")
         (user              "peccu")
         (mail-domain       "me.com")
         (ssl-verify-level  0)
         ;; setting for IMAP
         (proto             "%")
         (fcc               "%Sent Messages")
         (inbox-folder      "%iCloud")     ;IMAPではinboxフォルダに固定されるので,意味が無い
         (imap-user         "peccu@me.com")
         (imap-server       "imap.mail.me.com")
         (imap-ssl          t)
         (imap-ssl-port     993)
         (imap-delete       nil)
         (imap-auth         t)
         (imap-size         0)
         (imap-header-only  nil)
         ;; setting for SMTP
         (smtp-user         "peccu@me.com")
         (smtp-server       "smtp.mail.me.com")
         (smtp-ssl          t)
         (use-smtp-auth     t)
         ;; (smtp-port         465)
         (smtp-ssl-port     587)
         (smtp-port         587)       ;サブミッションポート
         (use-submission    t)
         )
))

複数アカウントの設定

細かく見ていきます.まず二つのアカウントの設定がこんな風に分かれてます.default以外は2文字以上の好きな名前を付けられます.
最初は1文字にしててうまくいかずにはまりました.

(setq mew-config-alist
      '(
        (default
          ;; デフォルトの設定
          )
        (icloud
          ;; iCloud用の設定
         )
))

そんでiCloud用の設定項目はこんな感じ.

項目
IMAPサーバ imap.mail.me.com
IMAPポート 993
SMTPサーバ smtp.mail.me.com
SMTPポート 587
ユーザ名 user@me.com

設定できる項目はMewのドキュメントに詳しく載ってますが,基本的に設定用変数名からmew-を取ったものを指定できます.

signature-fileには署名を書いたテキストファイルを指定したり,nameがFromの表示名,userとmail-domainがFromのメールアドレスに使われて,fccが送信時にコピーを保存するフォルダ名です.

iPhoneからiCloudでメールを送信するとSent Messagesフォルダに保存されてたのでそれにあわせました.

複数アカウントの切り替えとか

メール読む時のアカウントの切り替えはSummaryの時にCキー(Case)を押すとアカウント名(設定でのdefault,icloudとか)を聞いてくるので入力してRETで切り替わります.

フォルダ名の取得(C-u Z)とかメールの受信(i)はアカウント一つでIMAP使ってる時と一緒です.

メールを書いてる時のアカウントの切り替えは,Draftの時にC-c C-oでSummaryの時と同じようにアカウントを聞いてくるので答えてあげると切り替わります.

操作 キーバインド
Summaryでアカウント切り替え C
Draftでアカウントきりかえ C-c C-o
フォルダ名取得 C-u Z
新着メールの受信(Summary) i

これであなたもiCloudEmacsを連携できまね.