1999年6月26日

POP before SMTP for Sendmail

天気:雨のち曇り
体重:89.2Kg

新サーバーへの移転作業である。

# 今年も尿酸値が9.3と悲しい。薬の量をふやす。

前回、qmailを入れたと書いた。
わたしの最終目的はWWW、MailともSSLでやり取りすることにある。
ということは外部ipからの送信も受けなければならないので
「POP before SMTP」を導入する必要がある。
qmailでも出来るようだが、資料の多いSendmailにまた戻した。

FreeBSD3.2Rについているsendmailは8.9.3だ。

以下
メモ(3日かかった)

qpopperのinstall

portsからqpopper2.53を導入。
# cd /usr/ports/mail/popper
# make patch
# cd work/qpopper2.53

pop_pass.c, pop_apop.c, pop_rpop.cにpatchをあてる。
認証終了後 return で戻る直前に以下を挿入。

pop_log(p, POP_PRIORITY,
"POPAUTH %s %lu %s %s",
p->ipaddr, (unsigned long)time(0), p->user, p->client);
# cd ../../
# make
# make install

inetd

# vi /etc/inetd.conf
pop3 stream tcp nowait root /usr/local/libexec/tcpd popper -s

# ln -s /usr/local/libexec/popper /usr/libexec/popper
inetdにHUP

確認

# vi /etc/syslog.conf
!popper
*.notice
を追加。
syslogdにHUP
# tail -f /var/log/popper

POPAUTH ***.***.***.*** 930384330 user ***.***.***.***
というようなlogが記録されればO.K.

watcher2

http://www.kuee.kyoto-u.ac.jp/~kitano/popauth/ からwatcher2をGet.
自分の環境に合わせて修正。
$popperlog = "/var/log/popper"; # logfile for popper
$popauthlog = "/var/log/popauthlog";    # logfile for myself
$syslogpid = "/var/run/syslog.pid";             # syslog pid file
$popauth = "/etc/mail/popauth";         # sendmail database
$makemap = "/usr/sbin/makemap";         # makemap command
require "ctime.pl";
という行がある。
ctime.plをどこから見つけてきて同じディレクトリに入れておく。
gooで検索したらすぐに見つかった。

確認

# ./watcher2 &
# cat /etc/mail/popauth

sendmail.cfの設定


# vi /etc/mail/localip
ローカルネットワークのipを記載。
192.168.0
等。

# vi sendmail.cf
Kpopauth hash /etc/mail/popauth
F{LocalIP} /etc/mail/localip
Scheck_rcpt
R$+                     $: $(dequote "" $&{client_addr} $) $| $1
R0 $| $*                $@ OK           R$={LocalIP}$* $| $*    $@ OK           
R$* $| $*               $: $(popauth $1 $)ROK                 	$@ OK
R$*                     $#error $@ 5.5.0 $: "550 RELAYing Denied: Authenticatewith POP first."
広いスペースははTAB!!
http://www.morelr.com/technical/unix/popauth.html にある
IMPORTANT!!!!!
delete or comment out the existing rules in that section.
がポイント。


これで良いと思っていたら、翌日に悲劇が・・・・・

trackbacks

trackbackURL:

comments

comment form
comment form