Vimでメールを読む
前回のTokyoVim#19でunite-notmuchというプラグインを作りました。
このプラグインはnotmuchというコンソール上で動作するメールリーダーを使い、
Uniteのインターフェースから
- メールの表示
- メールの検索
- メールの未読/既読の切替
をすることができます。
なお、
- メールの受信
- メールの送信
はそもそもnotmuch本体が出来ないのでこのプラグインでも出来ません。
また、notmuchがWindowsでは使えないようなのでこのプラグインも使えません。
必要なソフト
- notmuch
- メールを受信するソフト
- offlineimap
- fetchmailなどでも可
メール環境の設定(offlineimap編)
- notmuchのインストール
# Mac OS X $ brew install notmuch # Linux(gentoo) $ sudo emerge notmuch
- notmuchの設定
$ vim ~/.notmuch-config
[database] # 絶対パスで指定する path=/Users/ユーザ名/Maildir #path=/home/ユーザ名/Maildir [user] name=アカウント名 primary_email=メールアドレス [new] tags=unread;inbox; ignore= [search] exclude_tags=deleted;spam; [maildir] synchronize_flags=true
- offlineimapのインストール
# Mac OS X $ brew install offlineimap # Linux(gentoo) $ sudo emerge offlineimap
- offlineimapの設定
$ vim ~/.offlineimaprc
[general] metadata = ~/.offlineimap accounts = アカウント設定名 [Account アカウント設定名] localrepository = ローカル設定名 remoterepository = リモート設定名 status_backend = sqlite postsynchook = notmuch new [Repository ローカル設定名] type = Maildir # notmuch-configのdatabaseで指定したパス localfolders = ~/Maildir/ [Repository リモート設定名] type = IMAP remotehost = メールサーバ remoteuser = アカウント名 remotepass = パスワード maxconnections = 1 folderfilter = lambda foldername: foldername in ['INBOX']
使い方(offlineimap編)
事前に
$ offlineimap
でメールを受信しておく必要があります。
いちいちコマンドを実行するのが面倒ならcronにでも仕込んでおけば良いらしいです。
メールを受信したらVimから以下のコマンドを実行します。
:Unite notmuch
フォルダ一覧画面では以下のアクションが実行可能です。
- フォルダを開く(open)
- フォルダ内のメールを既読にする(read)
- フォルダ内のメールを未読にする(unread) => TokyoVim#20で追加
- フォルダ内のメールを検索する(search) => TokyoVim#20で追加
フォルダを開いた後のメール一覧画面では以下のアクションが実行可能です。
- メールを開く(open)
- 選択したメールを既読にする(read)
- 選択したメールを未読にする(unread) => TokyoVim#20で追加
- メールをプレビューウィンドウで開く(preview) => TokyoVim#20で追加
興味がある人は使ってみてください。