On Mon, 8 Mar 1999, Tabor J. Wells wrote:
> Under what circumstances does exim try to perform multiple deliveries down
> a single connection to a remote server? Is it based on a code in the ESMTP
> header or something else?
Exim manual, section 43.1 in the chapter on SMTP processing:
When the smtp transport suffers a temporary failure that is not message- |
related, Exim updates its transport-specific database, which contains records |
indexed by host name that remember which messages are waiting for each |
particular host. It also updates the retry database with new retry times. |
Exim's retry hints are based on host name plus IP address, so if one address |
of a multi-homed host is broken, it will soon be skipped most of the time. See |
the next section for more detail about error handling. |
When a message is successfully delivered over a TCP/IP SMTP connection, Exim
looks in the hints database for the transport to see if there are any queued
messages waiting for the host to which it is connected. If it finds one, it
creates a new Exim process using the -MC option (which can only be used by a
process running as root or the Exim user) and passes the TCP/IP socket to it.
The new process does only those deliveries that are routed to the connected
host, and may in turn pass the socket on to a third process, and so on. The
batch_max option of the smtp transport can be used to limit the number of
messages sent down a single connection. The second and subsequent messages
delivered down an SMTP connection are identified in the main log by the
addition of an asterisk after the closing square bracket of the IP address.
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.
--
*** Exim information can be found at
http://www.exim.org/ ***