web-dev-qa-db-ja.com

Postfixで特定のドメイン(非ローカル)へのメール配信を一時的に停止するにはどうすればよいですか?

Postfixとカスタムトランスポートを使用して、受信者のドメインに応じて配信速度を管理できます。 (たとえば、1秒あたり最大1つのメッセージを*@hotmail.comに送信します)

私も同様のルールを使用して不正な宛先をブロックします(htmail.comはすぐにブロックされ、キュー内の多くのループを回避します)。

ただし、宛先へのメール配信を24時間または48時間一時的に停止したい(*@gmail.comへのメールが停止され、それ以外はすべて配信される)。この間、メッセージはキューに入れられ、構成を変更して必要なときにのみ配信されます。

誰かがそれを行う方法を知っていますか?

ありがとう

13
Julien Tartarin

メッセージをHOLD状態にする

/etc/postfix/main.cf:

smtpd_recipient_restrictions = 
    ...
    check_recipient_access hash:/etc/postfix/hold

/ etc/postfix/hold:

gmail.com        HOLD
blah.com         HOLD

必ず実行してくださいpostmap hash:/etc/postfix/holdファイルを更新するたび。

保留中のすべてのメッセージを解放する場合は、 postsuper を使用します。

# postsuper -H ALL
20
Philip Reynolds

transport map でこれを行うことができます:

gmail.com defer:

2
adaptr

特定のドメインを保留するには:

postqueue -p | awk 'BEGIN { RS = "" } { if ($7 == "[email protected]" ) print $1 }' | tr -d '!*' | postsuper -h -

特定のドメインを解放するには:

postqueue -p | awk 'BEGIN { RS = "" } { if ($7 == "[email protected]" ) print $1 }' | tr -d '!*' | postsuper -H -
0
Salim Bennouri