Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email firstname.lastname@example.org
From: Bas van Schaik (bastuxes.nl)
Date: Mon Dec 22 2008 - 14:02:15 CST
Wietse Venema wrote:
> Bas van Schaik:
>> 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.
> Server overload is not the only reason for 4xx replies. An SMTP
> server mail respond with 4XX for all kinds of reasons. If the client
> were to stop delivering mail for any series of 4XX replies then
> mail would never get delivered.
I'm sorry, I did not mean "stop delivering" but more some kind of
mechanism to detect a server which is not willing to accept anymore. I
do realize this is quite a vague criterium, clearly this is not easy to
>> 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.
> Postfix has always had smtpd process count limits. This is because
> Sendmail's load average limits did not work.
Maybe a stupid question: why did the load average limits fail? Surely
the smtpd process count limit is a beautiful feature, but couldn't they
be used together?