外部からのメール送信の認証方法

SMTP-AUTH を使おうと思って色々調べてたら、認証機構に使用する Cyrus SASL は一般的に saslpasswd でユーザを登録していく必要があるらしい。そんなんユーザ数めちゃくちゃ多いサーバに認証機構入れようと思ったら大変やん。qpopper みたいに /etc/passwd を見るように出来ないのかな?と思ったら、一応それも出来るらしい。が、「/etc/passwd にはパスワードが書かれていないので最近の UNIX 系 OS では使えない」・・・ガーン。んじゃ、/etc/master.passwd を見るように・・・/etc/shadow を見るオプションしかない・・・つまり、NetBSD はアウトってこと??
仕方ないので、ちょっと Cyrus SASL を前提としている SendmailSMTP-AUTH は後回しにして、再び POP before SMTP について調べてみる。こっちは qpopper で認証した際のログを元に sendmail にリレー可能な IP アドレスを教えてやるとゆーものなんだが、qpopper のビルド時に Configure で指定とか云々。えー、これも面倒。とりあえず、ログが取れないとダメなんだからと、適当に POP アクセスした後に /var/log ディレクトリ下を覗いてみる。なんか、無さげ・・・。その辺を調べてみると、qpopper は -s オプションを付けて起動するとログを取ると書いてある!早速、/etc/inetd.conf を見てみると・・・付いてるーっ!NetBSD のパッケージ入れただけでログ取りオプション有りなんかいっ!!>NetBSD/i386 1.6.2 qpopper-4.0.5nb2
ログはデフォルトだと /var/log/messages に吐き出されている模様。フォーマットは以下のよーなカンジ(注:あたりまえですが実在しないユーザ名とホストです(笑))

Jun 29 14:37:02 nyanonon qpopper[300]: Stats: nyanonon 0 0 0 0 YahooBB234056078090.bbtec.net 234.56.78.90

で、qpopper の部分だけを別のログにしないと何かと困るので適当にサイトを見た結果、/etc/syslog.conf に以下の 2 行を追加する。ログファイルは「touch /var/log/pop.log」で空のファイルを作っておく。

 !popper
 *.*             /var/log/pop.log

んで、syslogd のプロセス ID を「ps -x | grep syslogd」で調べて、「kill -HUP プロセスID」で再起動して、Outlook Express とかから、適当に POP アクセス。無事、pop.log に qpopper のログが出来ていた。