iPhoneのメールをWanderlustから使う

iPhoneのメール xxxx@i.softbank.jp は今までの携帯メールと違い一般的なIMAPという形式のメールサーバがあって、そこに携帯からアクセスしているだけである。つまりIMAPに対応したメールクライアント(Outlook, Thunderbirdなど)を使えば、パソコンから携帯メールを確認し、メールを打てる。

今まで自宅のOutlookにその設定をしていたのだが、自宅のサーバにコンソール型のIMAPクライアントを設定し、世界中どこにいってもSSHが繋がれば携帯メールを打てる状態にしてみた。どうもWanderlustiPhone使いはいないらしく、Webに設定方法がなかったので公開してみる。


無事設定が終わると、こんな感じの一般の人には非常に分かり難いインターフェースでiPhoneのメールが読み書きできる。

世界中のどこからもiPhoneのメールにアクセスでき、
iPhoneのバッテリーが切れていても、携帯を忘れてもメールにアクセスでき、
パケット代、パケットローミング代を気にする心配がないのである。

最低限の設定:

.wlの書き方

~/.wl に以下のように記述する。

;; From: の設定
(setq wl-envelope-from "ユーザ名@i.softbank.jp")
(setq wl-from "ユーザ名@i.softbank.jp <ユーザ名@i.softbank.jp>")  ;; ここはお好みの表示名を

;; IMAP サーバの設定
(setq elmo-imap4-default-server "imap.softbank.jp")
(setq elmo-imap4-default-user "ユーザ名")
;; clearパスワード
(setq elmo-imap4-default-authenticate-type 'clear)

;; SMTP サーバの設定
(setq wl-smtp-posting-port 587)
(setq wl-smtp-authenticate-type "plain")(setq wl-smtp-posting-user "ユーザ名")
(setq wl-smtp-posting-server "smtp.softbank.jp")
(setq wl-local-domain "i.softbank.jp") 

;; 送信済みは Sent Messages へ
(setq wl-fcc "%Sent Messages")
;; 送信済みIMAPフォルダは送信と同時に既読に
(setq wl-fcc-force-as-read t)

.folders の書き方

次に~/.folders の適当な部分に以下のように記述する。いろいろな書き方があると思うが、下のをコピペで動くはず。

iPhone{
%inbox:ユーザ名/clear@imap.softbank.jp:143        "- inbox"
%Sent Messages:ユーザ名/clear@imap.softbank.jp:143        "- 送信済み"
}

例えばGmailのフォルダにアクセする時は以下のように設定する

%inbox:ユーザ名@gmail.com/clear@imap.gmail.com:993!     "-inbox"

ポート番号993の後ろの!マークはSSLでの接続を指定している。iPhoneのメールはSSLに対応していないので!マークがいらない点に注意して欲しい。僕はここではまった。

ここまで設定してからemacsを起動してwlを起動すると、i.softbank.jpへのパスワードを求められる。おそらく購入直後にSMSで通知されたパスワードを入力する。

 

ちょっと便利に使う:

上のステップで基本的にメールを受信して送信するという最低限の機能は使えるようになっているはず。ここからはiPhoneユーザ向けにお勧めの設定項目をいくつか晒しておく。

基本

パスワード入力を省く
一度パスワードを入力してメッセージを送信/受信した後に、M-x elmo-passwd-alist-save とすると認証情報が保存される。mewなどには 無い機能。なぜmewにこの機能が備わっていないかをよく考えた上で自己責任で使って欲しい。

"Sent Messages"フォルダに送信済みをコピーする。
上の.wlにさらっと書いたが、IMAPサーバ上の"Sent Messages"フォルダにメールが入っていないとiPhoneの"送信済みメッセージ"にメールが表示されない。従って以下を.wlに追加する必要がある。

;; 送信済みは Sent Messages へ
(setq wl-fcc "%Sent Messages")
;; 送信済みIMAPフォルダは送信と同時に既読に
(setq wl-fcc-force-as-read t)

"Sent Messages"フォルダでは送信者ではなく宛先を表示する。

;; "Sent Messages"フォルダでは宛先をサマリに表示
(setq wl-summary-showto-folder-regexp "Sent Messages")

ちなみにサマリーモード関連の設定をいじった時は s all しないと変更が反映されない。(どのタイミングで反映されるのか僕が分かってないだけ)

自動ダウンロードの閾値を設定する

HTMLメールやデコメなどちょっとサイズな大きなメールを受信する度に、ダウンロードするかどうかを聞かれるのは面倒である。

;; 300kbまでのメッセージであれば確認せずにダウンロード                                     
(setq elmo-message-fetch-threshold 300000)        

としてしまおう。

アドレス帳関連

届いたメッセージからアドレス帳に追加する
Summaryモードで'@'を押す。

アドレスマネージャでアドレス帳に追加する
C-c C-aを入力して, アドレスマネージャを呼び出す.
'a'を押してアドレスを追加

おかしな携帯メールアドレス向けのTIPS
Wanderlustからメールを送ろうとすると、Error while parsing addressというエラーが出ることがある。送信先のアドレスの`@' の直前に `.' があるのが問題で, `"foo."@example.org' の様に `"' で local-part を囲む必要がある。 http://wiki.gohome.org/wlja/?%A5%D0%A5%B0%A1%A9#l6
僕が普段やりとりする人にもhogehoge..@docomo.ne.jp という人がいた。

画面表示関連

送信画面でUser-Agentなど余計なヘッダーを表示しない

.wlに以下のように表示しないヘッダーを書くという手がある
(setq wl-message-ignored-field-list
  '(".*Received:" ".*Path:" ".*Id:" "^Message-ID:" "^References:" "^In-Reply-To"
    "^Replied:" "^Errors-To:" "^Lines:" "^Sender:" ".*Host:" "^Xref:" "^User-Agent:"
    "^Content-Type:" "^Precedence:" "^DomainKey-Signature:" "^DKIM-Signature:"
    "^Status:" "^X-.*:" "^Content-.*:" "^MIME-Version:"
    "^Delivered-To:" "^Received-SPF:" "^X-SB-Service:" "^Authentication-Results:"
   )
)

が、世の中には他にも沢山の種類がある。下のページの方法が賢い。
http://tanuzou.com/nuzou/wiki/index.php?Wanderlust%20Tips#content_1_2

ちなみにX-SB-Service:というヘッダーはおそらくSoftbankが追加したもので、メールサーバでのウイルスチェックの結果とおぼしき情報が書かれていた。

3ペイン表示したい
サマリーモードで l でフォルダマネージャが表示される。デフォルトで3ペインにしたいのであれば以下を設定する。

(setq wl-stay-folder-window t)
(setq wl-folder-window-width 30) ;; フォルダ一覧の横幅 30 文字分。お好みで

スレッドではなく単純に日時順に並べ替えたい
サマリーモードでT

添付ファイルの取り扱い

添付ファイルをつけたい
メッセージモードで C-c C-x C-i

受信メッセージの添付ファイルをローカルに保存したい
メッセージの中の[0 attache test <image/jpeg (base64)>]  というところにカーソルを移動し"e"。
.wlに(setq mime-save-directory "~/hogehoge")と書いておくとデフォルトで~/hogehogeに保存されるので便利。

 

オマケ:Mewでの設定方法

WanderlustでなくMewを使いたいという人は.emacs.elに以下のように書けばよい。実際やってみたがスペースを含む名前のフォルダへの移動ができないなどの不都合があり諦めた。(回避方法は多分ある)

(autoload 'mew "mew" nil t)
(autoload 'mew-send "mew" nil t) 
;; メールサーバの設定                   
;; iPhoneの設定

(setq mew-name "ユーザ名@i.softbank.jp")
(setq mew-user "ユーザ名")
(setq mew-mail-domain "i.softbank.jp")
(setq mew-smtp-port "587")
(setq mew-smtp-user "ユーザ名")
(setq mew-proto "%")
(setq mew-imap-user "ユーザ名")
(setq mew-imap-server "imap.softbank.jp")
(setq mew-fcc "%Sent Messages")

なお、今回IMAPクライアントとしてWanderlustを選んだのは、キーバインドnavi2chに似ていて使いやすいという点が最大のポイントだった。およそ正当なemacs使いが怒り出しそうな理由であるが、後付で調べたところIMAPクライアントとしてはwanderlustに分があるようである。