qmailの設定

基本的な設定

ファイル名意味
/var/qmail/control/me自ホスト名(FQDN)mail.example.com
/var/qmail/control/localsローカル受信するドメイン名(virtualdomainにしたいドメイン名は書かない)example.com
/var/qmail/control/rcpthostsリモート受信するドメイン名sample.net
/var/qmail/control/queuelifetime送信キューの有効期限(秒)86400
/etc/tcp.smtp(任意)メールの中継制限(下記参照)

メールの中継制限

以下のようなテキストファイル(/etc/tcp.smtp)を作成する。

 127.0.0.1:allow,RELAYCLIENT=""
 192.168.1.:allow,RELAYCLIENT=""

バイナリに変換する。

 tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp

qmail-smtpdの起動時にバイナリファイルを指定する(-x /etc/tcp.smtp.cdb)。

 tcpserver -u <qmailのuid> -g <nofilesのgid> -x /etc/tcp.smtp.cdb 0 smtp /var/qmail/bin/qmail-smtpd &

メールアドレスの作成

UNIXユーザ = メールアドレス

UNIXユーザを作成することでメールアドレスを作成したことになる。例えば、taro@example.com宛てのメールは、ユーザtaroのメールディレクトリ(/home/taro/Maildirなど)に届く。

なお、ユーザが存在しないメールアドレスはユーザaliasのメールディレクトリ(/var/qmail/alias/Maildir)に届けられる。

エイリアスで基本的なメールアドレスを作成

ユーザaliasにエイリアスを設定することで、postmaster@example.comroot@example.comなどの基本的なメールアドレスを作成する。それぞれ、/var/qmail/alias/.qmail-postmaster、/var/qmail/alias/.qmail-rootが対応する設定ファイルになる。ファイルの内容は以下のようになる。

 ./Maildir/
 taro@sample.net

これでpostmaster@example.com宛てのメールは/var/qmail/alias/Maildirとtaro@sample.netに届くようになる。

ユーザエイリアスを使った簡易ML

ユーザtaroが存在するとして、taro@example.com以外にtaro-sub@example.comというエイリアスを作る場合、/home/taro/.qmail-subというファイルを以下のような内容で作る。

 ./Maildir/
 jiro@sample.net

これでtaro-sub@example.com宛てのメールはユーザtaroのメールディレクトリとjiro@sample.netに届くようになる。宛て先を増やせば、簡易なMLとしても機能する。

ユーザのいないメールアドレスを作成

また、taro-subではなくsub@example.comというメールアドレスを作りたい場合、/var/qmail/users/assignというファイルを以下のような内容で作る(最後の行は.のみにする)。

 +sub:taro:500:500:/home/taro:-:sub:
 .

これでsub@example.com宛てのメールは/home/taro/.qmail-subファイルを参照して(ファイル名は行末の2フィールドの記述で決まる)配送されるようになる。

メールの転送

sendmailの.forwardの代わりとして、.qmailファイルを利用する。/home/taro/.qmailを以下のような内容で作る。

 jiro@sample.net

プログラムに渡したい場合は、以下のような内容になる。

 | /usr/bin/procmail -m ./.procmailrc

再送の設定

キューほ生存時間を指定する。この時間を過ぎると、そのキューは破棄される。

 echo 86400 > /var/qmail/control/queuelifetime 

なお、再送の間隔は等比数列的に長くなるようにプログラムされており、これは変更できない。


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS