smtpd は少なければ少ないほど、管理に頭を悩ませません。 そこでクライアントでは、smtpd を止めてしまいます (というか、起動しない)。 リモートへの送信は、サーバに(正規に)中継してもらいます。
とします。
- server.domain.ac.jp : 中継を受け持つ SMTP サーバ
- client.domain.ac.jp : 中継してもらうクライアント
/etc/tcp.smtp
server.domain.ac.jp で tcpserver による中継制御 をしている場合には、/etc/tcp.smtp に client.domain.ac.jp からの 中継を許可するように設定します。
server.domain.ac.jp:/etc/tcp.smtp
client.domain.ac.jp:allow,RELAYCLIENT=""
127.:allow,RELAYCLIENT=""
:allowtcp.smtp のデータベース作成
上の /etc/tcp.smtp をデータベース化します。
# /usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp (一行で)
tcpserver の再起動
HUP シグナルを送って tcpserver を再起動します。
# killall -HUP tcpserver
smtproutes の設定
client.domain.ac.jp:/var/qmail/control/smtproutes
:server.domain.ac.jpとして、属性をかえておきます。
# chmod 644 /var/qmail/control/smtproutes
rc の設定
client.domain.ac.jp:/var/qmail/rc は、 Mailbox か Maildir かだけ変更して、 後はデフォルトでよいです。
client.domain.ac.jp:/var/qmail/rc
#!/bin/sh
# Using splogger to send the log through syslog.
# Using qmail-local to deliver messages to ~/Maildir by default.
# Start qmail-daemons except for qmail-smtpd
exec env - PATH="/var/qmail/bin:$PATH" \
qmail-start ./Maildir/ splogger qmail &
ローカル配送もやめてすべて server.domain.ac.jp にお任せならば、 client.domain.ac.jp:/var/qmail/control/locals から client.domain.ac.jp を除きます。 qmail-send が動いていたら、HUP シグナルを送ります。
# killall -HUP qmail-send