On Sun, Nov 04, 2012 at 06:16:26PM +0100, Christian R??ner wrote:

> Would it technically possible to have a smtpd_to_lmtp_proxy option
> (or however it could be called), that would receive on smtpd and
> open a connection to its LMTP server, doing cleanup and Co. in
> memory and wait for the result of the LMTP server?

No. The two protocols have incompatible transaction models. LMTP
can accept a subset of the recipients of a message after "DATA",
while SMTP cannot. Some of the recipients can rejected and the
rest accepted. Or some can be temp-failed.

Therefore the SMTP-to-LMTP proxy has to be willing to:

  - Send bounces for rejected recipients: this requires a queue

  - Retry tempfailed recipients: this requires a queue

One could image a proxy that only does this as necessary, while
avoiding queues for mail for which all deliveries give the same
result for all recipients, but the complexity of this is not
appealing.

This also creates more extreme load spikes on the IMAP delivery
system which is more expensive than SMTP queue processing. With
Postfix between the sender and the IMAP server, the load is smoothed
out by the maximum concurrency of the LMTP transport, the Postfix
queue acts as a buffer between bursty clients and the IMAP server.

-- 
        Viktor.

Reply via email to