Adrian Zaugg adi@ente.limmat.ch wrote:
Am 17.01.14 10:53 schrieb Stan Hoeppner:
On 1/16/2014 6:56 PM, Murray Trainer wrote:
MTA = disk. Always has always will. Disk throughput is always the critical factor for queue performance, and an MTA is little more than a queue. Which makes it surprising that so many people ignore disk when talking about mail servers, as you have done here.
Exim tries to deliver every message without queueing it first.
The documentation says something different:
http://www.exim.org/exim-html-current/doc/html/spec_html/ch-how_exim_receive...
,----[ 6. Handling an incoming message | When Exim accepts a message, it writes two files in its spool directory. | The first contains the envelope information, the current status of the | message, and the header lines, and the second contains the body of the | message. The names of the two spool files consist of the message id, | followed by -H for the file containing the envelope and header, and -D | for the data file. `----
and
,----[ 7. Life of a message | A message remains in the spool directory until it is completely | delivered to its recipients or to an error address, or until it is | deleted by an administrator or by the user who originally created it. In | cases when delivery cannot proceed – for example, when a message can | neither be delivered to its recipients nor returned to its sender, the | message is marked “frozen” on the spool, and no more deliveries are | attempted. `----
So exim4 _always_ writes a message to disk first and _then_ tries to deliver the mail.
But: there is a new delivery mode available since Exim 4.82, named "cutthrough delivery", set via as a control item in the RCPT ACL:
http://www.exim.org/exim-html-current/doc/html/spec_html/ch-access_control_l...
,---- | control = cutthrough_delivery | | This option requests delivery be attempted while the item is being | received. It is usable in the RCPT ACL and valid only for | single-recipient mails forwarded from one SMTP connection to another. If | a recipient-verify callout connection is requested in the same ACL it is | held open and used for the data, otherwise one is made after the ACL | completes. Note that routers are used in verify mode. | | Should the ultimate destination system positively accept or reject the | mail, a corresponding indication is given to the source system and | nothing is queued. If there is a temporary error the item is queued for | later delivery in the usual fashion. If the item is successfully | delivered in cutthrough mode the log line is tagged with ">>" rather | than "=>" and appears before the acceptance "<=" line. | | Delivery in this mode avoids the generation of a bounce mail to a | (possibly faked) sender when the destination system is doing | content-scan based rejection. `----
Grüße, Sven.
-- Sigmentation fault. Core dumped.