最終更新日 2003/11/19  戻る  493716 人 REMOTE = 38.103.63.59 REFERER =

★relay-ctrl

これにより POP before SMTP を実現します.
現在のバージョンは3.1.1ですが,これはdaemontoolsなどが必要になります.どこかの達人がdaemontoolsはあまり好きではないと言っていましたし(理由は不明),設定も面倒なので2.5を使用することにしました.http://www.todo.ne.jp/qmail/#downloadよりDownloadできます.
# tar xzvf relay-ctrl-2.5.tar.gz
# cd relay-ctrl-2.5
# make
# make root-install
これで/usr/sbinにrelay-ctrl-allowとrelay-ctrl-ageがインストールされます.
次に下記のようにrelay-ctrlがつかうディレクトリや設定ファイルを作ります.
# mkdir /etc/relay-ctrl
# echo "/etc" >rulesdir
# echo "tcp.smtp" >smtprules
# echo "tcp.smtp.cdb" > smtpcdb
# echo "/usr/local/bin/tcprules" > tcprules
# echo "900" > expiry

# crontab -e
* * * * * /usr/sbin/relay-ctrl-age
を追加.
/var/spool/relay-ctrlがあることを確認.
chmod 777 /var/spool/relay-ctrl

qmailの起動スクリプトを編集する
/etc/rc.d/init.d/qmail
----- 省略
# Start smtpd
/usr/local/bin/tcpserver -vHR -x /etc/tcp.smtp.cdb \
-v -u 509 -g 1002 0 smtp /var/qmail/bin/qmail-smtpd \
2>&1 | /var/qmail/bin/splogger smtpd 3 &

# Start pop3d
/usr/local/bin/tcpserver -vHR 0 pop3 \
/var/qmail/bin/qmail-popup vine.localdomain \
/bin/checkpassword /usr/sbin/relay-ctrl-allow /var/qmail/bin/qmail-pop3d Maildir \
2>&1 | /var/qmail/bin/splogger pop3d 3 &
----- 省略

service qmail restart

以上により POP before SMTP は使用可能となります.
relay-ctrlはpopでの認証に成功すると/var/spool/relay-ctrlに接続したホストのipアドレスをファイル名とするファイルを作成しますが,relay-ctrl-ageはそのファイルのタイムスタンプを確認し,設定値expiry(デフォルトは900秒)以上経過したファイルを削除します.
例えば192.168.1.17よりpopすると/var/spool/rely-ctrlに192.168.1.17というファイルが作られています.15分後にこのファイルが自動的に消えていればカンペキです.cronは1分ごとにこのファイルの確認を行っているようです.tcp.smtp.cdbに以前の設定値が入っているとcronに設定したrelay-ctrl-ageに怒られます.このファイルはインストール当初は何のデータも書かないでおきましょう.(tcp.smtpに何も書かないでtcp.smtp.cdbを作っておく※qmailの項参照)
何かのエラーがあると
From: root@vine.localdomain (Cron Daemon)
To: root@vine.localdomain
Subject: Cron <root@vine> /usr/sbin/relay-ctrl-age
tcprules: fatal: unable to parse this line: 211.0.112.:allow,RELAYCLIENT=""127.0.0.1:allow,RELAYCLIENT=''
の様なメールがやってきます.これに気づかず放っておいたところ1800通ものメールが送られていました.
/etc/tcp.smtpにはリレーを許可するipを書きます.

/etc/tcp.smtp
192.168.1.:allow,RELAYCLIENT=""
127.:allow,RELAYCLIENT=""


Copyright 2002-2003 Kai All Rights Reserved & This site is Link Free 戻る