> On May 18, 2021, at 4:26 PM, post...@ptld.com wrote: > > Server 1 is the MX server to accept mail for domain. It should not be tasked > with submissions, relays, etc. Keep it available for one purpose only for > balancing purposes. > > Server 2 is to cater to the end user, to handle their needs for their email > client. Checking mail (imap) and sending messages (submission) from their > email client. In my mind, postfix has no need to even be on server 2 except > for the fact dovecot does not prevent address spoofing on submission service.
You're describing a multi-instance divide-and-conquer configuration, but for some mysterious reason you believe that multiple instances are more complicated... I can't help you with that beyond suggesting you actually try it. Multiple instances are simple, and the separation of the queues, and stamping of log messages with the instance name, ... makes it easier to understand where mail is, or how it was handled. Message envelope splitting is (1 to many message delivery), deferring some recipients, while delivering others, ... requires a queue. So delivering local users to one port and remote users to another requires a queue, which means that it *CANNOT* be done in smtpd(8) because that's just a simple message receiver that puts a single message in the queue. Once a message is in the queue the resolution to a transport is independent of the source. What you're asking for requires separate queues (same recipient domain goes to SMTP in one, and local in the other), hence multiple Postfix instances. And no, various services in master.cf are NOT multiple instances of Postfix, because they all share a single queue. Multiple copies of a service are still part of a single Postfix + qmgr + delivery agents "instance". -- Viktor.