web-dev-qa-db-ja.com

送信メッセージのPostfixスロットリング

(ローカルPHPから)送信メッセージを特定のレートで送信するには、Postfixが必要です。たとえば、120秒に1メッセージです。このレートを超えるメッセージは、キューに入れて(遅延して)後で配信する必要があります。

ポリシー は私が探しているものではありません。送信するメッセージの総数を制限する必要はありません。送信される2つのメッセージの間にポーズ(120秒)が必要です。

この設定を試してみましたが、機能していません:

initial_destination_concurrency = 1
default_destination_concurrency_limit = 1
default_destination_rate_delay = 120
default_destination_recipient_limit = 1
default_process_limit = 1

助言がありますか?

12
Sergey Kovalev

設定する必要があります

default_destination_recipient_limit = 2

1ではなく1に設定すると、制限は同じ受信者にのみ適用されるため、notドメインになります。

7
Deckard

Postfwdを使用します。レート制限サーバーの運用で使用します。

http://postfwd.org/doc.html#examples

3
user34749

送信メールを抑制できます。

default_destination_rate_delay = 1s

Postfixは、同じ受信ドメインへの各メッセージ間に1秒の遅延を追加します。デフォルト値は0sです。

2
san5678

たぶんqmgrで少し遊んで、いくつかの結果を得ることができます。

http://www.postfix.org/qmgr.8.html

0
PiL

ヤフーに行く電子メールのためにこれをすることは人々に本当に一般的です。 http://old.nabble.com/Create-Custom-Mail-Queue-td21577217.html#a21577217 で設定例を確認し、必要に応じて数値を調整できます。

0
Bill Weiss

上記の設定が機能していないと言うとき、それは同じ宛先または異なる宛先に対して機能していませんか?

提案に関しては、ポート25への発信接続をブロックするためにオン/オフiptablesルールをスクリプト化することはかなり簡単です。それが私の次の提案です。

0
Greeblesnort

メールの送信速度が速すぎるクライアント

smtpd_client_connection_rate_limit = 100

smtpd_client_message_rate_limit = 100

smtpd_client_recipient_rate_limit = 200

smtpd_client_new_tls_session_rate_limit = 100

これをチェック

0
san5678