«前の日記(2009-07-17) 最新 次の日記(2009-09-22)» 編集

meta's blog - The Power To Serve

筆者について

FreeBSDを通じてOSSにささかな貢献を。

OSS活動をご支援いただける方を募集しています


2009-07-21 Mutt Sucks Less

muttrc の書き方 (Courier-IMAP PREAUTH編)

前回からだいぶ間が空いてしまいましたが、muttrc の書き方です。

自分のホームディレクトリにMaildirがある状態を想定して、メールボックスにIMAPでアクセスするための設定方法です。予めCourier-IMAPなどをインストールしておく必要があります。

PREAUTHとは予めSSHなどでログインして認証済みの状態でシェルからimapdを起動することで、IMAPプロトコルは標準入出力経由でやりとりすることになります。

$ /usr/local/bin/imapd ~/Maildir
* PREAUTH Ready.
INFO: LOGIN, user=meta, ip=[127.0.0.1], port=[0], protocol=IMAP

あらかじめ .mutt ディレクトリを作っておき、~/.mutt/muttrc に設定を記述します。

$ ( umask 077 && mkdir ~/.mutt )

muttc の中身はこんな感じ。

# 標準入出力経由でIMAPアクセスするための宣言
set tunnel="/usr/local/bin/imapd ~/Maildir"

# INBOX, Sent, Drafts などの場所を指定
set folder="imap://localhost/"
set spoolfile="imap://localhost/INBOX"
set record="+INBOX/Sent"
set postponed="+INBOX/Drafts"

# お約束の設定
set hostname="example.jp"
set send_charset="iso-2022-jp"
set envelope_from="yes"

# メールをスレッド順にソート
set sort="threads"

# SMTPサーバの設定
set smtp_url="smtps://smtp.example.jp:465/"

# IMAPとSMTPで別のユーザで認証する
account-hook imap://localhost/ 'set tunnel="/usr/local/bin/imapd ~/Maildir"'
account-hook smtps:/example.jp:465/ 'unset tunnel'

# ヘッダとメッセージのキャッシュ
set header_cache=~/.mutt/cache/headers/
set message_cachedir=~/.mutt/cache/bodies/

# IMAPの新着メールを G で受信
bind index G imap-fetch-mail
bind pager G imap-fetch-mail

以上がホームディレクトリ内のMaildirを直接IMAPで読むための設定です。 送信者(自分)の名前などはシステムのgecosフィールドの値が使われます。

明示的に設定するには、

set realname="Charlie Root"

と書いておけばOKです。