On 1/20/26 2:48 PM, Wietse Venema via Postfix-users wrote:
Jamie McClelland via Postfix-users:
Hi all,

I carefully read a thread from a few years ago about warming up IP
addresses using Postfix:

https://www.mail-archive.com/[email protected]/msg97100.html

One answer was to use a database lookup
(https://www.mail-archive.com/[email protected]/msg97102.html)
and another answer was to use smtpd_recipient_restrictions and randmap
(https://www.mail-archive.com/[email protected]/msg97107.html).

However, both answers *seem* to base the rate limiting on the
destination domain name, not the destination MX server. Since a
considerable amount of email goes to Microsoft and Google from custom
domain names, this shortcoming means the rate limiting will let a lot
more email go to Google and Microsoft than intended.

Indeed, the Postfix scheduler is driven by destination domain
and it does not look up MX records. That was nt a proboem
when the scheudler was designed and implemented.

There is a workaround (solution?) that uses check_recipient_mx_access
and content filter support:

/etc/postfix/main.cf:
     smtpd_something_restrictions =
        ...
        check_recipient_access lmdb:/etc/postfix/mx-filter
        ...

/etc/postfix/mx-filter:
     outlook.com        filter outlook-smtp:
     google.com filter google-smtp:
        ...

/etc/postfix/master.cf:
     outlook-smtp ...same fields as generic 'smtp' client...
     google-smtp ...same fields as generic 'smtp' client...

Thank you for the quick response pointing me in a different direction. Since I've already written the TCP tables program that rate limits how I want, do you see any problems with this modified approach that uses TCP Tables?

/etc/postfix/main.cf:
  smtpd_recipient_restrictions =
     ...
     check_recipient_mx_address tcp:127.0.0.1:1234
     ...

The TCP Tables program would either respond with:

* DUNNO (if the program determines that the MX server can handle receiving another message from this IP based on previous lookups) * FILTER smtp:[warm.example.org] (if the MX server has received too many email messages - warm.example.org uses round robin DNS with already warmed up IP addresses)

Also, would check_recipient_mx_addres query just one MX record (the one with the highest priority)?


jamie
_______________________________________________
Postfix-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to