今更ながら POP before SMTP をCentOSで実装します。
同機能を qpopper で実装していたのですが、SMTP Auth と併用を考えてdovecotを使うように変更しました。
Time::HiRes File::Tail Date::Parse Net::Netmask BerkeleyDB
# vi /etc/dovecot.conf
protocols = pop3 imap_listen = * pop3_listen = * log_path = /var/log/dovecot info_log_path = /var/log/dovecot log_timestamp = "%b %d %H:%M:%S "
# vi /etc/pop-before-smtp-conf.pl
$logto = '/var/log/pop-before-smtp';
$dbfile = '/etc/postfix/pop-before-smtp';
$grace = 10*60; # ログイン可能時間を10分とする
$file_tail{'name'} = '/var/log/dovecot';
$pat = '^pop3-login: (... .. ..:..:..) Info: ' .
'Login: .+ \[(\d+\.\d+\.\d+\.\d+)\]';
=cut #====================== Postfix BerkeleyDB =======================START= =cut #====================== Postfix BerkeleyDB =========================END=
の "=cut" を削除
# vi /etc/postfix/main.cf
mynetworks = 127.0.0.0/8 #mynetworksを明記しないと pop-before-smtp が起動しない
smtpd_recipient_restrictions = permit_mynetworks,
check_client_access hash:/etc/postfix/pop-before-smtp,
reject_unauth_destination
postfix, dovecot および pop-before-smtp を起動する
/etc/rc.d/init.d/postfix start /etc/rc.d/init.d/dovecot start /etc/rc.d/init.d/pop-before-smtp start
pop3でアクセスし、 /var/log/pop-before-smtp に
Jan 1 00:00:00 added xxx.xxx.xxx.xxx to DB
といったログが残ればOK