Viktor Dukhovni: > On Sun, May 27, 2012 at 12:21:49PM +0200, DTNX Postmaster wrote: > > > Also, why would you need a proxy? Unlike HTTP, SMTP does not benefit > > from front-end caching and the like. HTTP is a stateless, SMTP a > > stateful protocol? It is easily made highly available, just based on > > the MX records, and you can implement basic load balancing by having > > several MX records with the same priority, IIRC. > > I concur. Postscreen is only needed in front of public MX hosts to > reduce hogging of the SMTP service by ratware. On public MX hosts, > you can use a proxy that sits in the network path between the > outside world and the MX hosts, in which case the proxy will not > rewrite the source IP and no XCLIENT is required.
This depends on the proxy. - If it's a packet-level proxy then it just forwards unmodified packets that belong to the same session to the same back-end SMTP server. - If it's a circuit-level proxy like nginx, then it needs to forward session info in-band, with XCLIENT or equivalent. Circuit-level proxies can do a few things that are difficult with packet-level proxies, such as sitting in a remote network, or that are impossible such as off-loading TLS or AUTH. [fan-out with four MX records and four a records per MX name] > The above gets you 16 MX hosts with no load balancers required. > You only need load balancers when you start to get to the size > of Google, Hotmail, ... and they use DNS load-balancers, that > return geo-proximate IPs for the MX host or any-cast IPs. There > is likely a second layer of load-balancing below the DNS layer > at that scale, but very few sites need either. Some people don't understand the difference between browser-to-server HTTP, and MTA-to-MTA SMTP. Wietse