mobileimapを使って携帯でメール受信

携帯も高機能化したとはいえ、メールのやりとりにはちょっとしんどい。ちなみに普段のメール環境はIMAP+SSL(IMAPS) / SMTP+SSL(SMTPS)。
手っ取り早く全部gmailに転送するという手もあるのだけど、いろんな情報を含んでいるので困る場合も結構ある。
gmailに転送してると、添付にexeファイル送られた瞬間に送信者にgmailアドレスからエラーが返る…というトピックもあり。

変換サービスも第三者にデータが渡る時点でパス。というわけで、メールを転送している自前IMAPサーバで携帯に表示できるようにした。
思ったより楽に、快適生活に移行できた。

mobileimap

IMAPサーバ
  | (IMAP)
mobileimap
  | (HTTP)
端末のブラウザ

指定したポートで、HTTPを使ってモバイル端末(でなくてもよいが)と通信してくれる。単体で動作し、apacheは不要。
ダウンロードしてコンパイルMakefileのPREFIXを適宜変更(最初NetBSDで試したので/usr/pkgに)してmake。
FreeBSDならports/japanese/mobileimapがあるのでさらに何も考えずに入れられる。

IMAPS, SMTPSでプレーン認証なので、次のようにして試しに起動。

% mobileimap -u IMAPアカウント名 -S IMAPサーバ -a PLAIN(認証方法) --imap-ssl -P 993(IMAPSのポート) --smtp-port 587(SMTPSのポート) --from="名前"

imap-sslを忘れていてはまった。
あと最初気づかなかったのだが、正しく起動していれば
Server started at example.com:8143
といったメッセージが表示される。(-dオプションつけてdaemonモードであげてない場合)

http://example.com:8143で接続してうまくいけば受信箱が見えるはず。

他に、-s HTTPサーバ(表示用、デフォルトはgethostnameで取得された自分自身)、-p HTTPポート(同じく、デフォルトは8143)など指定できる。また、httpsで接続したい場合は--sslオプション(openssl-rubyが必要)。mobileimapのページに詳細に書かれている。

あと素敵なのが、au/softbankの携帯なら、端末IDでアクセス制御ができる。IDの確認方法、オプションは上記mobileimapのサイトにかかれている。

動くことが確認できたら、-dオプション(daemonモードで起動)もつけて、configに書き出す。
~/.mobileimaprcは起動時に読み込まれる。

% mobileimap オプションいろいろ -d --dump-config > ~/.mobileimaprc

apache経由で使いたい場合はこちらが詳しいです。

起動時に立ち上げる設定も。その場合当然.mobileimaprcにパスワード直書きしておくので、パーミッションは閉じておく。