2004年10月28日木曜日

今更Fetchmail

 今まではEmacs上のMewでincして、いちいちPOPサーバからメールを取得していたのですが、光を導入して粉う方なき常時接続回線になったので、fetchmailをつかって定期的にメールを取得する事にしました。これでメール取得・閲覧のプロセスは以下のようになります。

POPサーバにメールが配信される
 ↓
Fetchmailでローカルマシンのスプールにメールを取得
 ↓
Procmailでスプールからユーザ毎のメールボックスにメールを配信
 ↓
Mewでメールボックスの中身を閲覧

 fetchmailを使う為には~/.fetchmailrcを用意し以下のような設定をする必要があります。このファイルにはパスワードが書かれているので、chmod 600 ~/.fetchmailrcとしてパーミッションを変更し、自分以外は読めないようにしておきましょう。


 set daemon 300 #定期チェックの間隔を秒数で指定
defaults
 protocol pop3
 uidl
 no rewrite
 no mimedecode
 mda "/usr/bin/procmail"
 keep

poll your.mail.server #僕ならmail.trpg.net
 username your_pop_user_name
 password your_pop_password

 またprocmailでスプールからメールボックスにメールを配信する為には~/.procmailrcが必要です。

#VERBOSE=on
PATH=/usr/bin:/bin:/usr/local/bin:

# Dir setting
MAILDIR=$HOME/Mail #メールボックス
DEFAULT=$MAILDIR
LOGFILE=$MAILDIR/from-log
LOCKFILE=$HOME/.lockmail

# ここらへんは行数を正しく表示させるためのおまじない
:0
* ! ^Lines:
{
# Count number of lines
:0B
* 1^1 ^.*$
{ }
LINES = $=

# Add Lines: header
:0 fhw
| formail -a "Lines: $LINES"
}

# メールは、すべてinboxに持ってくる。
:0:
inbox/.

 これでfetchmailを実行すれば定期的にPOPサーバからメールを取得してきてくれます。こうした上で~/.mew.el(もしくは~/.emacs)に以下の設定を行なう必要があります。

(setq mew-mailbox-type 'maildir)
(setq mew-mbox-command "incm")

 これ以前に~/.mew.elにPOPサーバに関する設定項目がある場合はコメントアウトしておきましょう。でないとfetchmailとmewで二重にメールを取得してしまう事になります。僕は以下のようにしました。

(setq mew-config-alist
 '(("default"
  ("name" . "Dead Poet")
  ("user" . "siseru")
  ("mail-domain" . "trpg.net")
  ("smtp-server" . "mail.trpg.net")
;;以下の四行をコメントアウト
;; ("pop-server" . "mail.trpg.net")
;; ("pop-auth" . pass)
;; ("pop-user" . "your_pop_user_name")
;; ("pop-delete" . nil))))


0 件のコメント:

コメントを投稿