Routing emails via multiple relayes

I have a specific use case for my planned kumomta setup and i need to know if this will work before diving in,
So i need Kumomta to do traffic shaping and queue management only, to receive emails from my app with a specific header to be placed in a specifc queue (tenet) and relay them to remote smtp relays i have already in place (to provide geographically distributed setup, no auth needed) and the smtp relays will handle the dkim sign and dispatch. from the user guide i need to use mx_list but to better understand it and create a POC can someone answer me this:

Does mx_list support round-robin distribution, or does it treat the list as failover only (trying IPs sequentially only on failure)?

What is the correct approach to achieve round-robin distribution across multiple relay IPs in KumoMTA without using external load balancers?

Are egress pools the solution? Should I be defining:
Multiple egress sources (one per relay IP)
An egress pool with weighted distribution
Then somehow routing queues to that pool?
Is there a way to control IP selection behavior in mx_list or elsewhere in the configuration?

If you are moving messages to external relays what would be the point of doing traffic shaping or queue management in KumoMTA? You’d only be shaping traffic to the relay MX but it’s the relay MX that would need to shape traffic to the destination mailbox provider.

the plan is that KumoMTA in this case will control which remote smtp server will get the email to dispatch, for example if the header is for a transactional email go to a pool of 3 smtp servers which handles only transactional emails. if its a bulk email send it to another pool of 3 relay servers to be dispatched to the recipient. i will also schedule the bulk queue (not the transactional) to be paused for 8 hours at night start in the morning. this whole control should be done with the master mta which is kumomta, others are just relays will just send any email they get.

You can pause KumoMTA at night, or you can set sending schedules per message that exclude the evening, but it will not stop the relay servers from doing retries. You can set up egress_source configs that relay to external MTAs, but you can’t traffic shape them.

If those external hosts are servers you control you could also replace them with KumoProxy instances and keep all the queues inside KumoMTA.

looks like KumoProxy is the solution to my case. i will test it and update this thread. fingers crossed :crossed_fingers: