Viktor Dukhovni via Postfix-users:
> On Tue, Nov 07, 2023 at 08:14:04AM -0500, Wietse Venema via Postfix-users 
> wrote:
> 
> > Another option would be to use the DNS resolver (Bind, unbound, etc)
> > support to manipulate zone lookups.
> 
> But the OP wants a dedicated transport (for concurrency control and
> scheduling), not a change of destination IP, though in a multi-stage MTA
> setup that IP could point at a dedicated Postfix instance.

I know that, but it was not obvious to me that the OP needs to
support high volume.

It's easy enough to respect an individual provider's concurrency
limits by mapping their customer subdomains to a dedicated transport
with a limited number of delivery agent processes. That approach
may not scale to a large number of providers, but that does not
appear to be the problem at hand.

This mapping would be done after transport_map lookups, and before
the queue manager assigns a recipient to a delivery transport.  A
crude implementation would try to map all recipients; a smarter
implementation would know what deliveries require MX lookups.

Postfix deliveries that may be redirectred to a provider-specific
transport based on MX namne:
    smtp (i.e. $default_transport)

MX name to to transport map:
    # MX name pattern                   Postfix transport
    .mail.protection.outlook.com        outlook-com
    .google.com                         google-com

master.cf:
    outlook-com .. .. .. .. .. 10 smtp
    google-com .. .. .. .. .. 10 smtp

Recipient domains inside [] would not be subject to MX transport
aggregation.

This code path would have to be non-blocking so that the queue
manager is not slowed down by DNS latency. Some short-lived caching
would help.

        Wietse
_______________________________________________
Postfix-users mailing list -- postfix-users@postfix.org
To unsubscribe send an email to postfix-users-le...@postfix.org

Reply via email to