On Mon, Jan 27, 2014 at 02:38:01PM -0800, Quanah Gibson-Mount wrote: > >>Actually, that is not too difficult. Just specify a round-robin > >>name as the "lmtp_fallback_relay" (new feature). While adding SRV > >>support is tricky, adding "lmtp_fallback_relay" is I think quite > >>simple. > > > >That would be cool. We store all the servers in LDAP, and use LDAP to > >look up the target mailstore for a user now, so we could have the default > >LMTP use the LDAP lookup for their primary store, and then use the > >fallback relay do a LDAP lookup that returns a list of the other servers > >if that one is down.
The fallback relay setting is a fixed per-transport setting. So the fallback relay would not be per-user. Only the first LMTP server to try (per-user transport table). Each transport carries a fixed fallback relay in master.cf. So you'd have one transport per "cluster" of mailstores, and an associated fallback that uses the clust round-robin address. The user's transport entry would direct the first delivery attempt to "somelmtp:primary-store:port" if it is best to not simply round-robin the deliveries and sending each user's mail to the primary destination for that user is substantially better. -- Viktor.