やっと POP before SMTP に成功

これまでのあらすじ。

  • 自前サーバを新しく作り直したい
  • NetBSD が好きなので今度も NetBSD で作りたい
  • サーバ管理の負担を軽減する為に出来るだけバイナリパッケージを利用する
  • sendmail の cf を使った設定ファイル作成を行いたい
  • 今度は外部からメールが出せるようにしたい
  • 外部からメールを出すには SMTP-AUTHPOP before SMTP の 2 種類の方法から選んで実装してやる
  • SMTP-AUTHNetBSD 標準及びバイナリパッケージが対応しておらず、sendmailコンパイルからやり直す必要があるので却下
  • POP before SMTP は DRAC が最近の主流な気もするが、これも qpopper などを DRAC 対応でコンパイルしなければならないので却下。
  • poprelayd は Perl 前提となるが、どうせ ApachePerl CGI を使うので問題なし。こいつは 1 ファイルだけのデーモンとして動作してくれる。
  • 設定ファイルは imap-uw だと、そのまま修正なしで使えるので、今回は imap サポートも含めて POP サーバを qpopper ではなく、imap-uw で行う
  • sendmail には poprelayd に添付の m4 ファイルを hack ディレクトリに入れて、mc ファイルに HACK(`poprelay') を追加して、sendmail.cf を作るだけで使える
  • poprelayd のパッケージには Linux の起動スクリプトしか付いていないので、/etc/rc.d/lpd とかを参考に /etc/rc.d/poprelay を作ってやった

てな訳で無事 POP before SMTP に成功。関連するパッケージは perl-5.8.3、imap-uw-2002.5nb3 の 2 つだけで、あとは NetBSD/i386 1.6.2 に標準で入っている sendmail 8.11.6p3 のみ。そして poprelay は 1.5 を利用。
注意しなければならないのは /etc/mail 下に popip.db を空で、acccess.db をローカル IP アドレスだけ入れた形で作っておかなきゃならないくらい。

Poprelay Home Page
http://poprelay.sourceforge.net/