(ローカル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
助言がありますか?
設定する必要があります
default_destination_recipient_limit = 2
1ではなく1に設定すると、制限は同じ受信者にのみ適用されるため、notドメインになります。
Postfwdを使用します。レート制限サーバーの運用で使用します。
送信メールを抑制できます。
default_destination_rate_delay = 1s
Postfixは、同じ受信ドメインへの各メッセージ間に1秒の遅延を追加します。デフォルト値は0sです。
たぶんqmgrで少し遊んで、いくつかの結果を得ることができます。
ヤフーに行く電子メールのためにこれをすることは人々に本当に一般的です。 http://old.nabble.com/Create-Custom-Mail-Queue-td21577217.html#a21577217 で設定例を確認し、必要に応じて数値を調整できます。
上記の設定が機能していないと言うとき、それは同じ宛先または異なる宛先に対して機能していませんか?
提案に関しては、ポート25への発信接続をブロックするためにオン/オフiptablesルールをスクリプト化することはかなり簡単です。それが私の次の提案です。
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
これをチェック