Hi all, I have two company mailservers, both running Postfix. One of them is "public" (accessible from the internet) and the other is used for internal purposes only (i.e.: sending/recieving internal mail and sending mail to the internet via the public mailserver).
The public mailserver is (of course) configured to scan for spam and viruses and does have rate limitations (smtpd_client_message_rate_limit and smtpd_client_connection_count_limit) to avoid getting drowned in mail from a single server. The internal mailserver sometimes sends a large batch of mail to the public mailserver, this is where it gets nasty. The public mailserver applies the rate limits and starts to tempfail the mail from the internal server. This is /exactly/ what I want the public mailserver to do (I don't want to use the smtpd_client_event_limit_exceptions option), but the internal mailserver keeps trying and trying. Eventually, all mail from the internal server gets through and other mail traveling through the public mailserver does not get affected by large delays. However, I think the internal mailserver should stop processing the large batch of mail as soon as it notices that the public mailserver started tempfailing on it. That would save both mailservers a lot of work and would speed up retrying other queued mail. I couldn't find such an option in the postconf(5) manpages, nor could I find it on the internet. Is there a way to achieve this behavior? Furthermore I'm wondering if it is possible to tell Postfix to start tempfailing incoming messages when the server load exceeds some value? Of course it is possible to implement a hard-limit on the number of smtpd-processes, but that could cause the server to start idling. Regards, Bas