[Postfixbuch-users] "rate limiting" für ausgehende Mails

rog7993 at web.de rog7993 at web.de
Fr Okt 15 12:20:28 CEST 2010


Hallo,

Am 14.10.2010 09:34, schrieb Ralf Hildebrandt:
> Du kannst nun statt nur mit relayhost auch mit smtp_fallback_relay
> arbeiten. Alles was der relayhost nicht abnimmt wird nochmal via
> smtp_fallback_relay probiert.

Mit einer weiteren IP-Adresse, oder wie?

> Die Frage ist, wie schnell darf man wieder senden sobald man das Limit
> erreicht hat?

Nach 3 Minuten. Zumindest, wenn man die erlaubten 60 Mails pro 3 min
sehr schnell (am Anfang des 3 min Zeitraumes) ausgeliefert hat. Ob das
nun ein gleitendes Fenster oder ein fixes ist, weiß ich nicht. Man wird
auf jeden Fall nicht längere Zeit, quasi als Bestrafung, gesperrt.

>>   smtp_destination_concurrency_limit = 1
>>   smtp_destination_rate_delay = 1
> 
> 1 Mailverbindung, 1 Mails/s = 60 Mails/min = 180 Mails/min

Das verstehe ich nun nicht. Warum 180 Mails/min. Oder sollte das 3
Minuten lauten? Das erreiche ich aber auch nicht. Ich komme auf ca. 43
Mails/min. Das Ausliefern einer Mail braucht ja auch ein wenig Zeit und
dann kommt noch 1 sec Verzögerung dazu. Schön wäre es, wenn man eine
Verzögerung definieren könnte, die kleiner als eine Sekunde ist. In
diesem Fall wäre wohl 0.5 sec ideal.

>> Ich könnte mir auch vorstellen, die Default-Parameter
>> ...
>> auf kleinere Werte zu setzen, z.B.
>>
>>   minimal_backoff_time = 180s
>>   maximal_backoff_time = 1000s
>>   queue_run_delay = 90s
>
> ja
> Wäre ne idee

Das bremst immer noch zu stark. Besser ist es, wenn man das Ansteigen
der Zeit, die eine Mail nach mehreren fehlgeschlagenen
Auslieferversuchen in der deferred-Queue bleibt, abschaltet, also

  maximal_backoff_time = $minimal_backoff_time

> Du könntest SELBER zwei DNS Records  definieren, welche jeweils auf 3 Adressen
> des Relayhosts zeigen. Dann sagst du:
> 
> relayhost = [eintrag-a]
> smtp_fallback_relay = [eintrag-b]

Ideal finde ich dies aber nicht. Dann muss ich ja selber hinterhersein,
wenn der Betreiber des Relayhosts seinen MX-Record ändert. Das bekomme
ich ja nicht automatisch mit.

Ich habe gestern einige Tests gemacht und mich immer gewundert, warum
nur eine Mail je Verbindung übertragen wird, obwohl
smtp_connection_cache_on_demand auf "yes" stand bzw. in
smtp_connection_cache_destinations der mx-Record des Relayhosts bzw. die
einzelnen Hostnamen, die sich hinter dem mx-Record des Relayhosts
verbergen. Bis ich zu später Stunde darüber gestolpert bin:

  http://www.postfix.org/CONNECTION_CACHE_README.html#limitations

TLS ausgeschaltet und schon flutscht es. Entgegen den Parametern, die
mir vom Betreiber des Relayhosts genannt wurden (30 Mails je Verbindung)
wurden ca. 100 übertragen. Das sind nun Werte, mit denen ich leben kann.

Gruß, Ingo



Mehr Informationen über die Mailingliste Postfixbuch-users