はじめに
プライベートで利用しているVPSサービスが終了するので、別のVPSに乗り換える際にUbuntuからCentOSにディストリビューションを変更することにしました。
これまで利用していたmaildropの設定を引き継ごうと思ったのですが、procmailはあるもののmaildropは見つかりませんでした。
maildrop-2.8.x系列をCentOS7にインストールする方法は、いくつかみつかり、またNux DesktopのRPMも入手可能です。
今回は maildrop-3.0.0 が欲しかったので、次の記事を参考に作業を進めたので、差分の記録を残しておきます。
参考文献
ポイント
CentOS7でmaildropをビルドする時に必要な、famライブラリを準備するため、以前はlibfam-develを利用していたようですが、現在はgamin-develに引き継がれているので、そういった細かい点で変更点があります。
ビルド手順
http://www.courier-mta.org/download.html から、次の2つのtar.bz2をダウンロードしておきます。
- courier-unicode-2.1.tar.bz2
- maildrop-3.0.0.tar.bz2
パッケージのビルド
Specファイルは準備されているので、rpmbuildでビルドは完了します。
$ sudo yum install gamin-devel gdbm-devel pcre-devel libidn-devel
$ rpmbuild -ta courier-unicode-2.1.tar.bz2
$ sudo rpm -ivh rpmbuild/RPMS/x86_64/courier-unicode-2.1-1.el7.x86_64.rpm
$ sudo rpm -ivh rpmbuild/RPMS/x86_64/courier-unicode-devel-2.1-1.el7.x86_64.rpm
$ rpmbuild -ta maildrop-3.0.0.tar.bz2
$ sudo rpm -ivh rpmbuild/RPMS/x86_64/maildrop-3.0.0-1.x86_64.rpm
さいごに
ログは確認していますが、コンパイルは特にエラーなく完了しているようです。
自分が管理しているドメイン宛てのメールは、さくらのメールボックスを利用していて、前段の~/.fetchmailrc は次のようになっています。
"pop3_mailserverN", "login_idN", "passwordN" (Nは数字)の部分は、それぞれ適当なメールサーバー、メールアドレス、パスワードになっています。
set syslog
set no bouncemail
defaults
protocol pop3
port 995
fetchall
ssl
nokeep
no mimedecode
mda "/usr/bin/maildrop"
poll <pop3_mailserver1>
user <login_id1>
password <password1>
user <login_id2>
password <password2>
...
poll __pop3_mailserver2__
....
pollやid,passwordの組は複数書く事ができて、受信したメールの処理はmaildropに任せています。
今回の maildrop に処理をさせるための、~/.mailfilter は次のような内容にしています。
HOME=/home/user01
MAILDIR="/work/maildir/"
MAILDROP="/work/logs/"
logfile "${MAILDROP}maildrop.log"
to "${MAILDIR}"
logfileに指定しているmaildrop.logの処理は、logrotateに任せているので、/etc/logrotate.d/maildrop には次のように記述しています。
/work/logs/maildrop.log {
rotate 55
weekly
compress
missingok
notifempty
}
こんな感じでVPS上にメールをアーカイブしてインデックスを作成するなどの処理を行なっています。
以上