powermta outlook.rollup

nimeshl

Newbie
Joined
Sep 20, 2024
Messages
4
Reaction score
1
I use below feature outlook.rollup. Powermta will generate many queues like q1.outlook.rollup q2.outlook.rollup and so on.

<mx-rollup-list>
mx *.mail.protection.outlook.com outlook.rollup rollup-by-ip
</mx-rollup-list>

Does anybody know how do i make these queues into only one queue so that i can control this one queue better?

I also test it to use "smtp-hosts lookup-mx:outlook.com" this directive can make "mx *.mail.protection.outlook.com outlook.rollup" only one queue but these are many office365 email address cann't be sent sucessfully. like below

5.5.0 (unknown protocol-related status)smtp;550 5.5.0 Requested action not taken: mailbox unavailable (S2017062302). [SJ1PEPF0000231F.namprd03.prod.outlook.com 2025-11-08T13:50:59.256Z 08DE1E924DB17826]
 
I use below feature outlook.rollup. Powermta will generate many queues like q1.outlook.rollup q2.outlook.rollup and so on.

<mx-rollup-list>
mx *.mail.protection.outlook.com outlook.rollup rollup-by-ip
</mx-rollup-list>

Does anybody know how do i make these queues into only one queue so that i can control this one queue better?

I also test it to use "smtp-hosts lookup-mx:outlook.com" this directive can make "mx *.mail.protection.outlook.com outlook.rollup" only one queue but these are many office365 email address cann't be sent sucessfully. like below

5.5.0 (unknown protocol-related status)smtp;550 5.5.0 Requested action not taken: mailbox unavailable (S2017062302). [SJ1PEPF0000231F.namprd03.prod.outlook.com 2025-11-08T13:50:59.256Z 08DE1E924DB17826]
outlook.rollup queues are generated per MX hostname because PowerMTA hashes queue IDs by MX target + IP binding. using rollup-by-domain won’t merge them unless the MX records resolve to a single canonical endpoint. for tighter control, define a queue-group and map all outlook-related domains to it under a shared virtual-mta pool. example:

<domain outlook.com> queue-group outlook_rollup max-msg-per-connection 10 max-connects 5 </domain> <queue-group outlook_rollup> rollup-by-domain yes </queue-group>

this keeps queue stats unified while preserving individual mx threads. don’t force rollup-by-ip; that breaks throttling and can trigger transient 550/421s.
 
outlook.rollup queues are generated per MX hostname because PowerMTA hashes queue IDs by MX target + IP binding. using rollup-by-domain won’t merge them unless the MX records resolve to a single canonical endpoint. for tighter control, define a queue-group and map all outlook-related domains to it under a shared virtual-mta pool. example:

<domain outlook.com> queue-group outlook_rollup max-msg-per-connection 10 max-connects 5 </domain> <queue-group outlook_rollup> rollup-by-domain yes </queue-group>

this keeps queue stats unified while preserving individual mx threads. don’t force rollup-by-ip; that breaks throttling and can trigger transient 550/421s.
You're right. But only PowerMTA 6 has automatic Rollup. I'm using PowerMTA 6.0r3.
 
The 550 5.5.0 errors with lookup-mx are because some O365 tenants have custom MX routing that doesn't resolve cleanly. Stick with rollup-by-ip but consolidate using a single virtual MTA with strict concurrency limits instead of trying to force one queue.
 
Back
Top