中継の制限【effect.dat】と送信先制限【sender.dat】を組み合わせ、「外部送信可ドメイン」と「内部宛てのみ送信可ドメイン」を共存させるには? updated!

複数ドメインを運用する際、ドメインごとに送信範囲を分けたい場合は、中継の制限【effect.dat】と送信先制限【sender.dat】を組み合わせて対応します。
また、特定のIPアドレスに無条件許可("true")を与えて未登録アカウントからの送信を認めつつ、その送信先を内部ドメイン宛てのみに制限したいというご要望もサポート案件で寄せられています。この組み合わせは従来は実現できませんでしたが、20250620差分以降の差分アップデートを適用すると、ドメイン単位の【sender.dat】で実現できるようになりました。

設定前に以下のポイントを理解してください。
1. 【effect.dat】は上の行から順に評価され、最初に該当した条件で処理が確定します。順序が重要です。
2. 【effect.dat】は接続元IPアドレスやエンベロープFROMの制限・許可が主目的です。
3. 送信先(RCPT TO)の制限は【sender.dat】で行います。【sender.dat】は「全体共通」「ドメイン単位」「アカウント単位」の3か所に設置できます。
【想定する条件】
・ドメインA:登録済みアカウントのみ送信可(外部送信可)
・ドメインB:未登録アカウントも送信可(ただし外部送信不可・ドメインB宛てのみ)
・IPアドレス1、2、3からは未登録アカウントでも無条件許可
【手順1:中継の制限【effect.dat】の設定】
--------【effect.dat】--------
[ドメインA] default
[IPアドレス1] true
[IPアドレス2] true
[IPアドレス3] true
*.*.*.* norelay
------------------------------
注意:「[ドメインB] true」とすると、ドメインBを名乗ればどこからでもなりすまし・不正利用が可能になるため設定してはいけません。
ドメインBについても登録済みアカウントのみ送信可とする場合は、「[ドメインB] default」を追加します。

【手順2:送信先制限【sender.dat】の設定(ドメイン単位)】
ドメインAは外部送信可のため、送信先制限の設定は不要です。
ドメインBについては、以下の場所にフォルダを手動で作成し、その中に【sender.dat】を作成します。この設定は、ドメインBの登録済みアカウント・未登録アカウントの両方に適用されます。
[メール作業フォルダ]/permit/[ドメインB]/sender.dat
--------【sender.dat】--------
*@[ドメインB]
------------------------------
【sender.dat】の処理優先順位は以下の順です。
1. 全体共通設定:プログラムインストールフォルダ(既定値 /usr/local/mta/bin/)下の【sender.dat】(※1)
2. ドメイン単位の設定:[メール作業フォルダ(既定値 /var/spool/epms/)]/permit/[内部ドメイン名]フォルダ下の【sender.dat】(※1)
3. アカウント単位の設定:該当アカウントのメールボックスフォルダ(既定値 /var/spool/epms/inbox/[ドメイン名]/[ユーザー名] または /var/spool/epms/inbox/[ユーザー名])下の【sender.dat】(※2)
(※1)全体共通設定およびドメイン単位の【sender.dat】は、E-Postで作成した内部ドメインに対してのみ有効です。全体共通設定はすべての内部ドメインに適用されるため、本例のようにドメインAを外部送信可としたい場合は使用せず、ドメイン単位の設定を使用してください(内部ドメインが1つだけの運用であれば、全体共通設定でも実現できます)。
(※2)アカウント単位の設定は、ユーザー管理を開き、該当アカウントの「送信先制限」を選択して行います。

【注意:内部ドメイン以外を名乗る送信について】
ドメイン単位の【sender.dat】は、エンベロープFROMが該当の内部ドメインである送信にのみ適用されます。【effect.dat】で"true"指定したIPアドレスから、内部ドメイン以外のアドレスを名乗って送信した場合は、この制限の対象外となります。true指定するIPアドレスは、信頼できる接続元に限定してください。

【20250620差分より前の環境の場合】
ドメイン単位の【sender.dat】は利用できません。また、未登録アカウントにはユーザー管理から【sender.dat】を設定できないため、"true"指定された接続元からは、未登録アカウントでドメインB以外にも送信できてしまいます。
差分アップデートの適用をお勧めします。適用できない場合は、未登録アカウントもユーザー管理に登録し、【sender.dat】で送信先を制限してください。

(関連FAQ)
●「送信先制限」で送り先アドレスを送信禁止させたい
●「送信先制限」で1ドメインを送信禁止したとき、同報で他ドメイン宛もいっしょに拒絶される
●方式の違いによるメールボックスフォルダの作成位置について