qmail-smtpd の拡張機能

qmail-smtpdがqmail-vidaパッケージにより拡張された機能を示す。

controlファイル

control/senderhosts

認証に成功したり、環境変数 RELAYCLIENT が設定されていたりして中継が許可されたときでも、このファイルがある場合は、envelope sender のドメイン部がこのファイルに記述されたドメインに一致しなければ中継を拒否する。

組織において送信者のメールアドレスのドメインを厳しく制限したい場合などに利用する。ただし、null sender の場合は DSN(Delivery Status Notifications) の絡みもあってこの機能は無効になる。

次の例のように1行に1つのドメインのFQDNを記述する。

  example.org
  example.net

control/badrcptto

このファイルに記述されたメールアドレス宛のメッセージの受取りを拒否する。

次の例のように1行に1つのメールアドレスを記述する。

  foo@example.org
  bar@example.org

環境変数

TEMPRELAYCLIENT

環境変数 RELAYCLIENT が設定されていなければ、認証の成功後に環境変数 TEMPRELAYCLIENT は RELAYCLIENT と同じ役割を行う。

qmail の FAQ 5.5 と同じことを行いたければ RELAYCLIENT を設定する代わりに次のように起動ファイルあるいは tcpserver のアクセス制御ファイルの環境変数の設定場所に TEMPRELAYCLIENT を設定する。

  TEMPRELAYCLIENT="@fixme"

SENDERHOSTS

環境変数 SENDERHOSTS が設定されている場合、control/senderhosts の設定を上書きする。

次の例のようにコロン区切りでドメインのFQDNを並べる。

  SENDERHOSTS='example.org:example.net'

RCPTHOSTS

環境変数 RCPTHOSTS が設定されている場合、control/rcpthosts の設定を上書きする。これと同時に、認証に成功したり、環境変数 RELAYCLIENT が設定されていたりして中継が許可されたときでも、中継の許可を無効にし、RCPTHOSTS に記述されたドメイン宛てのメッセージしか受け取らない。

組織において特定のユーザからのメッセージを外部のドメインに送信させたくない場合などに利用する。特定のユーザ毎に環境変数を設定する方法は vida-passwdのマニュアルを参照。

次の例のようにコロン区切りでドメインのFQDNを並べる。

  RCPTHOSTS='example.org:example.net'