2008/04/01(火)FreeBSD で pop-before-smtp
ports の mail/popa3d-before-sendmail を make install して、sendmail.mc に
HACK(popauth)
と書けば終わり……なのですが、popa3dではなくdovecotをインストールした時の pop-before-smtp の設定メモ。
pop-before-smtp.pl
色々なメールソフトに対応した pop-before-smtp ツールです。ports の mail/pop-before-smtp からインストールできます。設定ファイルは Perl スクリプトになっていて /usr/local/etc/mail/pop-before-smtp-conf.pl にあります。dovecot と sendmail それぞれの該当部を有効にします。次に示した行を有効にし、=cut は削除します。
# Set the log file we will watch for pop3d/imapd records. $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+)[],]'; =cut #------------------------- Sendmail SMTP -------------------------START- # If you comment-out (or remove) the two surrounding =cut lines, we'll (中略) =cut #------------------------- Sendmail SMTP ---------------------------END-
続いて Sendmail の設定に必要なファイルをコピーします。なぜか doc/ 以下にあります。
# cd /usr/share/sendmail/cf # cp /usr/local/share/doc/pop-before-smtp/popauth.m4 ./
続いて /etc/mail 移動して sendmail.mc(ホスト名.mc)に次を書き加え、そのディレクトリで make して sendmail.cf(ホスト名.cf)を生成します。
define(`POP_B4_SMTP_TAG', `')dnl HACK(popauth)
起動と設定
まず rc.conf に次を書き加えて、pop-before-smtp.pl を起動するように設定します。
pop_before_smtp_enable=YES
最後に sendmail の再起動と、pop_before_smtp.pl を起動を行います。
# /etc/rc.d/sendmail restart # /usr/local/etc/rc.d/pop-before-smtp start
補足
ログファイルからIPを探知するので、dovecot側の設定は不要。