pop-before-smtp

Pop-before-smtpを使ってFedora CoreでPostfixとDovecotでPOP before SMTPする方法

インストール

$cd ~/src
$ curl -O http://nchc.dl.sourceforge.net/sourceforge/popbsmtp/pop-before-smtp-1.42.tar.gz
$ tar xzvf pop-before-smtp-1.42.tar.gz
$ cd pop-before-smtp-1.42
$ sudo cp pop-before-smtp.init /etc/rc.d/init.d/pop-before-smtp
$ sudo cp pop-before-smtp /usr/sbin/
$ sudo cp pop-before-smtp-conf.pl /etc
  • pop-before-smtpで使うPerlモジュールをインストール
$ sudo perl -MCPAN -e shell
cpan> install Time::HiRes
cpan> install File::Tail
cpan> install Date::Parse
cpan> install Net::Netmask
cpan> install BerkeleyDB
cpan> exit

/etc/pop-before-smtp-conf.plの設定

  • ログの指定部分のコメントをはずす

$file_tail{'name'} = '/var/log/maillog';

# For Dovecot POP3/IMAP when using syslog
$pat = '^[LOGTIME] ?S+ (?:dovecot: )?(?:imap|pop3)-login: ' .
'Login: .**? (?:?[|rip=)[:f]**(?d+?.?d+?.?d+?.?d+),]';
$out_pat = '^[LOGTIME] ?S+ (?:dovecot: )?(?:imap|pop3)-login: ' .
'Disconnected.**? (?:?[|rip=)[:f]**(?d+?.?d+?.?d+?.?d+)
,]'

  • Postfixで使用するDBの確認
$ /usr/sbin/postconf -v | less
  • PostfixでBerkeleyDBを使うので、podのコメントを削除

#========= Postfix BerkeleyDB ========START=
#========= Postfix BerkeleyDB =========END=

  • 設定の確認
$ perl -c /etc/pop-before-smtp-conf.pl

/etc/postfix/main.cf以下の記述を追加

smtpd_recipient_restrictions = permit_mynetworks,reject_non_fqdn_recipient,
check_client_access hash:/etc/postfix/pop-before-smtp,
reject_unauth_destination

リブート時の自動起動の設定と起動

$ sudo /sbin/chkconfig pop-before-smtp on
$ sudo /sbin/chkconfig --list| grep  pop-before-smtp
$ sudo /etc/rc.d/init.d/pop-before-smtp start

Postfix再起動

$ sudo /etc/rc.d/init.d/postfix restart