|Albert Shih||Feb 8, 2006 12:29 pm|
|Ralf Hildebrandt||Feb 8, 2006 12:36 pm|
|Albert Shih||Feb 8, 2006 12:53 pm|
|Ralf Hildebrandt||Feb 8, 2006 12:57 pm|
|Jay Lee||Feb 8, 2006 1:01 pm|
|Albert Shih||Feb 8, 2006 1:06 pm|
|Jay Lee||Feb 8, 2006 1:14 pm|
|Albert Shih||Feb 8, 2006 1:32 pm|
|Jay Lee||Feb 8, 2006 1:59 pm|
|Brian Candler||Feb 8, 2006 2:02 pm|
|Angel L. Mateo||Feb 8, 2006 11:51 pm|
|Ralf Hildebrandt||Feb 9, 2006 12:18 am|
|Brian Candler||Feb 9, 2006 12:12 pm|
|Albert Shih||Feb 9, 2006 3:48 pm|
|Albert Shih||Feb 9, 2006 3:55 pm|
|Brian Candler||Feb 9, 2006 11:30 pm|
|Rudy Gevaert||Feb 14, 2006 8:01 am|
|Brian Candler||Feb 14, 2006 10:34 am|
|Albert Shih||Feb 14, 2006 2:52 pm|
|Charles Sprickman||Feb 14, 2006 3:12 pm|
|Brian Candler||Feb 14, 2006 11:54 pm|
|Brian Candler||Feb 14, 2006 11:59 pm|
|Aaron Wiebe||Feb 15, 2006 6:00 am|
|Chris Stratford||Feb 15, 2006 9:21 am|
|Aaron Wiebe||Feb 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|
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:
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.