今回紹介する設定方針
- 受信メールのスパムチェックとラベリングのみ
- ratelimit, greylist 等のSMTP挙動を変更するような機能は無効化
- 受信メールのDMARC検証に失敗し、かつ送信ドメインがDMARCポリシーを
p=rejectに設定している場合は、送信ドメインが明示的に受信拒否していいと示しているので例外的に破棄する
- MLがメンバー宛に配送するメールにおいて、送信者からメールサーバに到着した際のスパム判定結果をそのまま使いたい(再判定しない)
DMARC検証失敗メールの破棄設定
actions.conf
-
discard/rejectアクション閾値設定- 通常利用では絶対に届かないであろう数値に設定、実質の無効化
- 例外として後述の force_actions で使用する為に、数値を入れて定義する
-
greylistアクション閾値設定- 後述するmodule自体も無効化する為、アクション定義も無効化
discard = 9999;
reject = 9999;
greylist = null;
force_actions.conf
特定のシンボルが付いた際に、アクションを強制する設定
- DMARC_POLICY_REJECT = 受信メールのDMARC検証に失敗し、かつ送信ドメインがDMARCポリシーを
p=rejectに設定している場合のシンボル-
discardアクションを強制する(rejectだとダブルバウンスが発生しかねないため)
-
rules {
DMARC_DISCARD {
action = "discard";
expression = "DMARC_POLICY_REJECT";
}
}
greylist.conf
greylist機能の無効化
enabled = false;
ratelimit.conf
ratelimit機能の無効化
enabled = false;
ML配送メールのスパム再判定無効化
settings.conf
特定のヘッダや送信元IPアドレス等の複数ルールにマッチングしたメールに対し、適用するアクションやシンボルの変更などを行う
- ここでは
Envelope-From:ヘッダとList-IdヘッダをマッチさせてML配送メールを特定する (MLによりマッチさせる条件は変える)-
add_headerアクションの閾値を通常利用では絶対に届かないであろう数値に設定、no_actionアクションが適用される、実質の判定無効化 -
no_actionアクション実行時に、スパムではないメールとしてヘッダが上書きされる動作の抑制- plugins {...} の設定で、
Authentication-Results:ヘッダーのみを更新対象とする。X-Spam:,X-Spam-Status:ヘッダーは保持される
- plugins {...} の設定で、
-
mailman {
priority = high;
from = [
"@example.jp",
];
header = {
"List-Id" = "\.example\.jp>$";
}
apply {
actions {
"add header" = 9999;
}
plugins {
milter_headers {
routines = [
"authentication-results"
];
}
}
}
}