メールの送信テスト
qmailを開始します。sendmailから移行した場合は、その前にsendmailを停止しておいてください。
# csh -cf '/var/qmail/rc &'
|
自分のhomeにMaildirがあることを確認した後、以下のコマンドでroot宛てにメールを送ります。
$ echo to: root | /var/qmail/bin/qmail-inject
|
~/Maildir/new に新しいメールが来るはずです。
次は、外部への送信テストです。
$ echo To: ooo@xxx.xx.jp(送信先メールアドレス) | /var/qmail/bin/qmail-inject
|
qmailの sendmail wrapperをMUAから使えるようにします。
一部のソフトやCGIはメール送信時にsendmailを利用していますが、
qmailがsendmailになりすましてそれらの処理を行うようにします。
# mv /usr/lib/sendmail /usr/lib/sendmail.bak
# mv /usr/sbin/sendmail /usr/sbin/sendmail.bak
# chmod 644 /usr/sbin/sendmail.bak
# ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
(最初からsendmailを入れていなければ下の2行だけ実行) |
tcpserverの導入
従来のtcp wrapperではなく、tcpserverでqmailを制御することにします。
(tcpserverの特徴については、このサイトに詳しく書いてあります。)
tcpserverのインストール
# tar zxvf ucspi-tcp-0.88.tar.gz -C /usr/local/src
# cd /usr/local/src/ucspi-tcp-0.88
$ make
$ make setup check
|
/etc/inetd.conf の中でsmtpが有効になっていたら、コメントアウトして無効にしておいてください。
popperの設定
/etc/services に pop3 110/tcp の行があることを確認します。
checkpasswd をインストールします。
# tar zxvf checkpassword-0.90.tar.gz -C /usr/local/src
# cd checkpassword-0.90
# make
# make setup
# make check
|
/etc/inetd.conf のpop-2 pop-3をコメントアウトして従来のtcp wrapperからは
利用できないようにしておきます。
cdbを導入
qmailはデフォルトではlocalにしか送信できず、設定ファイル control/rcpthosts に
書いてあるホストにのみ、送信を許可する仕様になっています。
これでは不便なので、cdbをインストールして送信先ホストをコントロールするように
します。
(2003/12/09追記 tcpserver v0.88にはcdbが含まれているので、別途インストールする必要が
無くなったようです。したがって、下記の取り消し線部分は無視してください。)
まず、cdbを展開します。
$ tar zxvf cdb-0.75.tar.gz -C /usr/local/src
$ cd /usr/local/src/cdb-0.75
|
次のようにインストールします。
# make
# make setup check
|
/etc/tcp.smtpを以下のように作ります。
192.168.0.:allow,RELAYCLIENT=""
127.:allow,RELAYCLIENT=""
|
(IPアドレスが 192.168.0.*と127.* であるホストからの接続を許可を意味しています。)
そのほか、許可するIPを設定します。
tcprulesを以下のように実行し、 tcp.smtp.cdbファイルを作成します。
# /usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
|
/etc/tcp.smtpを変更した後は必ずtcprulesを実行して tcp.smtp.cdb も
更新しなければいけません。
tcprulescheckコマンドでルールデータベースをチェックします。
# TCPREMOTEIP=(テストしたいIPアドレス) /usr/local/bin/tcprulescheck /etc/tcp.smtp.cdb
|
IPアドレスを指定する事により、アクセス許可/拒否のいずれかを表示します。
|