atom feed25 messages in net.sourceforge.lists.courier-imapRe: [Courier-imap] LSMTP
FromSent OnAttachments
Albert ShihFeb 8, 2006 12:29 pm 
Ralf HildebrandtFeb 8, 2006 12:36 pm 
Albert ShihFeb 8, 2006 12:53 pm 
Ralf HildebrandtFeb 8, 2006 12:57 pm 
Jay LeeFeb 8, 2006 1:01 pm 
Albert ShihFeb 8, 2006 1:06 pm 
Jay LeeFeb 8, 2006 1:14 pm 
Albert ShihFeb 8, 2006 1:32 pm 
Jay LeeFeb 8, 2006 1:59 pm 
Brian CandlerFeb 8, 2006 2:02 pm 
Angel L. MateoFeb 8, 2006 11:51 pm 
Ralf HildebrandtFeb 9, 2006 12:18 am 
Brian CandlerFeb 9, 2006 12:12 pm 
Albert ShihFeb 9, 2006 3:48 pm 
Albert ShihFeb 9, 2006 3:55 pm 
Brian CandlerFeb 9, 2006 11:30 pm 
Rudy GevaertFeb 14, 2006 8:01 am 
Brian CandlerFeb 14, 2006 10:34 am 
Albert ShihFeb 14, 2006 2:52 pm 
Charles SprickmanFeb 14, 2006 3:12 pm 
Brian CandlerFeb 14, 2006 11:54 pm 
Brian CandlerFeb 14, 2006 11:59 pm 
Aaron WiebeFeb 15, 2006 6:00 am 
Chris StratfordFeb 15, 2006 9:21 am 
Aaron WiebeFeb 15, 2006 10:30 am 
Subject:Re: [Courier-imap] LSMTP
From:Brian Candler (B.Ca@pobox.com)
Date:Feb 9, 2006 12:12:56 pm
List:net.sourceforge.lists.courier-imap

On Thu, Feb 09, 2006 at 08:51:56AM +0100, Angel L. Mateo wrote:

If you go down this route you will have:

SMTP LMTP --------------> Postfix --------------> Postfix 2 + server 1 courier-imap [router] [mail store]

I tried to make this configuration when we redesign our mail service, but I couldn't make it work. I could configure the first postfix to resend the mail with LMTP, but I couldn't configure the second to receive it.

So, finally we have this same configuration but the traffic between the two postfixs is with SMTP, not LMTP. We have more than 50000 users and we haven't appreciate any problem at all with the configuration,. We two load-balanced servers for the SMTP backend and two more for the POP/IMAP backend.

SMTP is fine. The advantage of LMTP over SMTP is that it eliminates the requirement for a queue on the mail store (i.e. "Postfix 2" above). This is because it allows selective rejection of mail after the body has been received.

For example, say an incoming message arrives at the mail store with the following envelope:

MAIL FROM:<sen@somewhere.com> RCPT TO:<use@example.com> RCPT TO:<use@example.com> RCPT TO:<use@example.com> DATA (message body) .

It may be that the mail store is able to deliver the message to user1, has a temporary error when delivering to user2 which needs to be retried later, and has a permanent error when delivering to user3.

With SMTP, the mail store can only give a single response after the message body, so it is forced to accept the mail with a 2XX response code, keep the message in a local spool queue so that it can retry later for user2, and generate an outbound bounce message for the failed delivery for user3.

With LTMP, the mail store can generate separate accept/reject response codes for each recipient. As a result, the sending MTA retains responsibility for retrying and bouncing; the mail store doesn't need any queue runner daemon, not does it send any bounces. This gives you one less mail queue to monitor and manage, and in the case of Cyrus, keeps the code base simple.

Regards,

Brian.