Postfix-Drosselung für ausgehende Nachrichten

12

Ich benötige Postfix, um ausgehende Nachrichten (von lokalem PHP) mit einer bestimmten Rate zu senden. Sagen wir, eine Nachricht in 120 Sekunden. Alle Nachrichten, die diese Rate überschreiten, sollten in die Warteschlange gestellt (verzögert) und später zugestellt werden.

Policyd ist nicht das, wonach ich suche. Ich muss die Gesamtzahl der gesendeten Nachrichten nicht begrenzen. Ich brauche eine Pause (120s) zwischen zwei gesendeten Nachrichten.

Versuchte diese Konfiguration, aber es funktioniert nicht:

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

Irgendwelche Vorschläge?

Sergey Kovalev
quelle

Antworten:

7

Sie müssen einstellen

default_destination_recipient_limit = 2

statt 1. Wenn der Wert auf 1 festgelegt ist, gilt das Limit nur für denselben Empfänger, nicht für die Domäne.

Carsten Schmitz
quelle
2

Sie können ausgehende E-Mails drosseln:

default_destination_rate_delay = 1s

Postfix fügt eine Verzögerung zwischen den einzelnen Nachrichten derselben Empfangsdomäne mit einer Verzögerung von 1 Sekunde hinzu. Der Standardwert ist 0s.

san5678
quelle
0

Wenn Sie sagen, dass die obige Konfiguration nicht funktioniert, funktioniert sie nicht am selben Ziel oder an verschiedenen Zielen?

Was einen Vorschlag betrifft, wäre es ziemlich trivial, eine iptables-Regel für das Ein- und Ausschalten von Skripten zu erstellen, um ausgehende Verbindungen zu Port 25 zu blockieren. Das wäre mein nächster Vorschlag.

Greeblesnort
quelle
Funktioniert nicht einmal für dieselbe E-Mail-Adresse. Innerhalb von 30 Sekunden werden 100 Nachrichten an eine bestimmte E-Mail gesendet.
Sergey Kovalev
0

Verlangsamen Sie Clients, die zu schnell E-Mails senden

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

#

Schau es dir an


quelle
Wird nicht funktionieren. Ich brauche eine sehr niedrige Rate. In etwa so: blah_blah_rate_limit = 0.01 Scheint, als ob Befehle, die Sie vorschlagen, für eingehende E-Mails gelten und nicht für ausgehende.
Sergey Kovalev