pop-before-smtpの詳細は割愛する。ここ に詳しく書いてあるからである。
ここでは、FreeBSDにpostfixとpop-before-smtpをインストしたので、その記録を報告する。pop-before-smtpはportsに有るが何故か旨く動かない(-o-;)そんなわけでソースからインストした。そのつもりで、見てほしい。尚、postfixのインストは割愛する。 ここ に詳しく書いてある。
1.pop-before-smtpをportsからインストする
# cd /usr/ports/mail/pop-before-smtp
# make install clean
2.Perlスクリプト、pop-before-smtpを変更する
# vi /usr/sbin/pop-before-smtp
省略
# Default values, possibly overridden in the config file.
$pat = ‘^(… .. ..:..:..) \S+ (?:ipop3s?d|imaps?d)\[\d+\]: ‘ .
‘(?:Login|Authenticated|Auth|APOP) user=\S+ ‘ .
‘host=(?:\S+ )?\[(\d+\.\d+\.\d+\.\d+)\]’;← デフォルトでは、ipop3dになっている。ここを自分が使ってるPOPモジュールに変更する。パターンマッチングによる正規表現で記載する。
$write = 1; # open and change the DB
$flock = 1; # we do the exclusive file-locking when updating
$debug = 0; # no debug messages
$reprocess = 0; # no debug reprocessing of watchlog
$dbfile = ‘/usr/local/etc/postfix/pop-before-smtp’; # DB hash to write ← ハッシュタイプのDBが生成される。このDBのパスは、Postfixのmain.cfに記述しなければならない。
$dbvalue = ‘ok’;
$grace = 5*60; # 5-minute grace period ← グレースタイムはデフォルトで30分であるが長すぎるので俺の場合、5分に変更している。これはPOP認証したIPアドレスを記憶している時間だが、あまり長すぎるのはセキュリティ的にも良くないであろう。
my($daemon_pidfile, $list_ips, $dump_config);
省略
3.postfix main.cfの変更
# cd /usr/local/etc/postfix
# vi main.cf
省略
smtpd_recipient_restrictions = permit_mynetworks,
reject_non_fqdn_recipient,
check_client_access hash:/usr/local/etc/postfix/pop-before-smtp, ← ハッシュDBのパスを追加(ここは、一行でかくこと)
check_relay_domains
省略
4.起動
これで、/usr/sbin/pop-before-smtpを起動すれば良い。
きどうした後、/var/log/pop-before-smtpログをウォッチすればうまくいってるかいっていないかが判る。
以上
コメント