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


13

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

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

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

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

ありがとう

回答:


20

メッセージを保留状態にする

/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

結局は機能しないようです。メールはすぐに送信されます。おそらく、$ mynetworksからメールを送信しているからでしょうか?REJECTやDISCARD仕事をしないのいずれか、私は、トランスポートのエラーで行かなければならなかった:
ジュリアンTartarin

OK 非常にうまく機能します:)
ジュリアンタータリン


0

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

postqueue -p | awk 'BEGIN { RS = "" } { if ($7 == "your@domain.com" ) print $1 }' | tr -d '!*' | postsuper -h -

特定のドメイン用にリリースするには:

postqueue -p | awk 'BEGIN { RS = "" } { if ($7 == "your@domain.com" ) print $1 }' | tr -d '!*' | postsuper -H -

いいえ。$ 7は、キューIDと同じ行の送信者の電子メールアドレスと一致します。受信者のメールアドレスは次の行にあり、メールの一致ではなくドメインの一致が必要です。
アンティリツォラ14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.