Linuxの部屋に戻る/月読のトップページへ
fetchmailとprocmail
メールを一元管理できると便利かなと考えた。そして、自動的に色々なpopサーバからメールを取って来てくれると便利だね。
プログラムの準備
Vine Linux 2.0CRには、fetchmailとprocmailがインストールされています。
なので、ここでは設定だけを書きます。
fetchmail-5.1.0-1.i386.rpm
procmail-3.14-1.i386.rpm
が、インストールされています。
fetchmailの設定
fetchmailを使用したいユーザのホームディレクトリに.fetchmailrcと言うファイルを作る。
set daemon 3600
defaults
protocol pop3
uidl
no rewrite
no mimedecode
mda "/usr/bin/procmail"
# keep
poll host_name.domain_name
username pop_user
password "pop_password"
poll host_name2.domain_name
username pop_user2
password "pop_password2"
”#”は、コメント。keep は、サーバにメールを残しておく設定。poll は、popサーバの設定。set daemon は、何秒毎に実行するかの設定。mda は、メールを受け取った後に実行されるプログラムで、どこのディレクトリに転送するかを決める。パスワードとかを書きこむので、他のユーザから覗かれ無いように、
$ chmod 600 .fetchmailrc
と言う、コマンドを実行しておく。
procmailの設定
fetchmailが受け取ったメールをディレクトリ毎に振り分けるのは、procmailの役割。procmailの設定は、.fetchmailrcと言うファイルで行う。
# 全体的な設定
#VERBOSE=on
PATH=/usr/bin:/bin:/usr/local/bin:.
# ディレクトリの設定
MAILDIR=$HOME/ # You'd better make sure it exists
DEFAULT=$HOME/Mail/
LOGFILE=$MAILDIR/from
# LOCKFILE=$HOME/.lockmail
# ここらへんは行数を正しく表示させるためのおまじないみたい(^^;)
:0
* ! ^Lines:
{
# Count number of lines
:0B
* 1^1 ^.*$
{ }
LINES = $=
# Add Lines: header
:0 fhw
| formail -a "Lines: $LINES"
}
# Vine-users のメーリングリストも専用のメールボックスへ
:0
* [Tt]o: vine-users@proxy.ryukyu.ad.jp
Vine-Users/
SPAM ばかりやってる奴のメールは捨てる(例)
:0
* [Ff]rom: .*dareka@dokoka.ne.jp
/dev/null
MAILDIR は、普通~/Maildirなのだけど、私が使っているメーラーがホームディレクトリに並列的にディレクトリを作らないといけないやつなので、上のようになっている。後は、正規表現を使って、振り分けの設定を書いていく。
プログラムの起動
最後にfetchmailを起動する。
$ fetchmail
これで動くはず。私は、
Active! mailと言うWeb上からメールを見れるツールをこのサーバに入れている。これだと、どんなプラットフォームでも、どのPCでも同じようにメールが読める。firewallがあって、ポートが空いていない環境でも、メールが読めるので、かなり便利になりました。
Linuxの部屋に戻る/月読のトップページへ