qmailの情報   http://ccs.cla.kobe-u.ac.jp/Jouhou/96/miyake/sotsuron/index.htm


最新 qmailのインストール
/usr/ports/mail/qmail/  で   make  make install  する

/var/qmail/configure/config-fast mail.972432.com
chmod 644 /var/qmail/alias/.qmail-*
cp /var/qmail/boot/home /var/qmail/qmail.sh


sendmailの無効化  #rm /etc/rc.d/inet.d/sendmail     

#kill –STOP [sendmailのプロセスID]
#usr/sbin/sendmail –q
#chmod 0 /usr/sbin/sendmail   
sendmailバイナリのsetuidビットを削
#mv /usr/sbin/sendmail /usr/sbin/sendmail.back   移動する。

次に、sendmailの代わりにqmailwrapperが呼び 出されるよう、シンボリックリンクをはる。
#ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail こうすることでperlのスクリプトでsendmailが呼ばれたときもあた かもsendmailを使っているかのよう にqmailが振る舞う。
#chmod 0 /usr/bin/mail      /usr/bin/mail の無効化


リレーの制御

一連のインストールの手順でいくつかの設定ファイル が作成され、/var/qmail/controlディレクトリ以下に存在する。そのうちのほとんどは そのまま使用できるが、SMTPサーバとしてSMTPクライアントの要求を受けてメールをリレーするため には、/var/qmail/control/rcpthostsが障害となってくる。

qmailSPAMの踏み台にされることを防止するため、初期設定でlocalhost以外からメールの送信は、rcphostsに記述された宛先以外へは拒否する設定となってい る。しかしこのままでは外部にメールを送ることができない上、 rcpthostsに配送が予想される宛先を全て列記することは不可能 である。かといってrcpthostsを削除してしまえば、全てのメールのリレーを許可す るようになるものの、それでは絶好のSPAMの踏み台となってしまう。

そこで自サイト内からのSMTP接続の時は許可するように設定する必要が生じる。qmailを用いたメール環境では、リレーの制御にtcpserverというソフトを用いるのが一般的であるようだが、今 回はすでにインストールされているtcp-wrapperを利用することにする。tcpd /etc/hosts.allowファイルのクライアントに対応した部分で 環境変数 RELAYCLIENT を空文字列にするよう設定する。

tcp-env: 192.168.1., 127.0.0.1: setenv = RELAYCLIENT
これにより、
knet内のホスト192.168.1.*からのメールを受け取り、リレーを許可するという設 定となる。


qmqil の起動
sh /var/qmail/qmail.sh  
終了 kill qmail-send の PID
/home/mnyu/.Maildir/  以下のパーミッションをuserの書き込み可にする

fetch http://cr.yp.to/checkpwd/checkpassword-0.90.tar.gz
root-ana# tar zxvf checkpassword-0.90.tar.gz   のインストール
root-ana# cd checkpassword-0.90
root-ana# make
root-ana# make setup check
root-ana# ./install
root-ana# /bin/checkpassword  ができる

6# echo to: mnyu@localhost | /var/qmail/bin/qmail-inject
6# echo to: mnyu@mail.972432.com | /var/qmail/bin/qmail-inject
6# echo to: mnyu | /var/qmail/bin/qmail-inject
6# echo to: mnyu@kk.email.ne.jp | /var/qmail/bin/qmail-inject
6# echo to: yoronk@yahoo.co.jp | /var/qmail/bin/qmail-inject
のいずれも  mnyu に 空 のメールが行く


sylpeedからmnyu@mail.972432.com に
you are not welcome to use tcp-env from mail.972432.com  とでて 送信できない

6# telnet 972432.com 110
Trying 192.168.1.2...
Connected to 972432.com.
Escape character is '^]'.
Connection closed by foreign host.
このように拒否されるのは  inetd.conf に 次の行をいれる 一行で
pop3  stream  tcp  nowait  root  /var/qmail/bin/qmail-popup  qmail-popup   mail.972432.com 
/bin/checkpassword  /var/qmail/bin/qmail-pop3d   Maildir


現在うまく行っているこのときの各種設定 gyu anagura ともに 送受smtp & pop  OK


//////////////////////// ここは ホスト  gyu   です   /////////////////////
/etc/inetd.conf
ftp    stream    tcp    nowait    root    /usr/libexec/ftpd    ftpd -l
telnet    stream    tcp    nowait    root    /usr/libexec/telnetd    telnetd

一行pop3 stream tcp nowait root /var/qmail/bin/qmail-popup qmail-popup  mail.972432.com /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir 一行

smtp    stream    tcp    nowait    qmaild    /var/qmail/bin/tcp-env    tcp-env /var/qmail/bin/qmail-smtpd


/etc/hosts.allow  はじめ近くに書く
tcp-env : localhost 192.168.1.0/255.255.255.0 : setenv = RELAYCLIENT
tcp-env :  ALL : ALLOW


resolv.conf
domain 972432.com
#domain yoron.net
nameserver 127.0.0.1
nameserver 192.168.1.1
//////////////////////// ここまでは ホスト  gyu   です   /////////////////////
//////////////////////// ここからは ホスト  anagura   です   /////////////////////
/etc/inetd.conf
pop3 stream tcp nowait root /var/qmail/bin/qmail-popup qmail-popup yoron.dp-21.net /bin/checkpassword
/var/qmail/bin/qmail-pop3d Maildir

smtp   stream  tcp     nowait  qmaild  /var/qmail/bin/tcp-env  tcp-env /var/qmail/bin/qmail-smtpd

/etc/hosts.allow
tcp-env : localhost 192.168.1.0/255.255.255.0 : setenv = RELAYCLIENT
tcp-env :  ALL : ALLOW

resolv.conf
domain dp-21.net
nameserver 210.164.91.70  
(ns.dp-21.net)
#nameserver 192.168.1.1
nameserver 202.224.32.1
#nameserver 202.224.32.2


//////////////////////// ここまでは ホスト anagura   です   /////////////////////



                                                                           メールの置き場所 および 形式
Maildir
    sendmail形式で 
dirと言うのでuserごと directryがあると 混乱しやすいが  /var/mail/   以下に root やmnyuと言ったファイルがあり メールが連結された1個のファイル (ここにはroot wnn  qmaild postadm などuserのファイルがある )
配送中にシステムがクラッシュしても、メッセージが破壊されない

取り出し方
サーバー自身に login していれば mail コマンドでとれる win9xクライアントからは サーバーにpop
サーバーをインストールして これに接続する


Mailbox   
 qmail形式 
/home/mnyu/Mailbox と言う ファイルにメールが連結される 本質的にはこの形式は信頼性に欠けている
qmailではこうした危険を回避するため、maildir形式をサポートしている=>
(コマンド#/var/qmail/bin/maildirmake Maildir ;
#chmod –R 700 ~/Maildirによる;
 
tmpnewcurという3つのディレクトリ 要作成)

user mnyu でlogin して 
mnyu# /var/qmail/bin/maildirmake ~/Maildir
mnyu# touch .qmail

.qmailファイルはsendmail環境における、.forwardファイルにあたり、ユーザーレベルでの配送の指示を 設定することができる。qmailは互換性のため、デフォルトではmbox形式のメールボックスへの配送をすることになってい る。それゆえ、maildir形式のメールボックスへの配送を行うためには.qmailにその旨を記述する必要がある。.qmailの所有者はそのホームディレクトリのユーザーでパー ミッションは600に設定する。

起動用スクリプトの修正
/var/qmail/rc の下の部分を変更する
qmail-start ./Mailbox splogger qmail
             
qmail-start ./Maildir/ splogger qmail




用語

共有メールスプール (Maildir)/var/mail/  のこと  配送中にシステムがクラッシュしても、メッセージが 破壊されない
メールボックス        =  ユーザーのホームディレクトリにある  ~/Mailbox