一定スコアのメールを配送保留する¶
一定以上のスコアのメールについてrejectルールのように「即時破棄はしたくない」が
add_headerなどで「即時配信はしたくない」という場合、Webインタフェースでは表示
されないアクションとして「一定時間隔離」(quarantine)というアクションがあります。
これを適用された場合、メールがmilterのrspamdからpostfixなどのMTAに戻された際に
MTAの仕様に基づき隔離処理が実施されます。postfixでは2.6以降ではHOLDをかけるようです。
これによりメールを一時保留して配送しない事が出来ます。
また保留状態でそのままにしておくと、再送待ちと異なりそのままではメールはキューから
削除されません。そのため誤検知などをチェックすることが可能です。
設定方法¶
- 下記ファイルを変更します。
ここでは例としてrejectまたはquarantineのみとしています。# vi actions.conf ---------------------------------------- reject = 20.0; rewrite_subject = null; quarantine = 10.0; add_header = null; greylist = null;
- サービスを再起動して反映します。
# systemctl restart rspamd
動作確認¶
- ブラックリストなどを用いて当該スコアを上回るメールを送るとHistoryのActionに
「quarantine」でログが記録されます。 - postfixのキュー確認をすると「HOLD」状態でメールが保留されています。
キューIDの末尾が「!」であるものは保留されていることを指します。# mailq -Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient------- 3617E380231! 1955 Tue Oct 7 16:56:19 差出人 宛先
保留後の処理¶
- 保留メールを確認する
# postcat -q キューID(!は除く)
- 保留を解除する場合(誤検知など)
# postsuper -r キューID(!は除く) または # postsuper -r ALL(すべての場合) 必要があれば下記で再送を急がせる # postqueue -f ALL
- 「H」オプションでHOLDを外してもよいのですが、長時間HOLDされたメールは再送がされない恐れがあります。
- 保留メールを削除する場合
# postsuper -d キューID(!は除く) または # postsuper -d ALL(すべての場合)