Jamie McClelland via Postfix-users:
> 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?

Postfix transport_maps are used for sender and recipient address
validation, before the SMTP server accept a message.

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

check_recipient_mx_access?

Note that the query is made once per recipient, so multi-recipient
messages will result in over-counting.

I suppose that the tcp: server maintains counts per domain suffix
(many but not all email hosters have a second-level domain name).

> 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)

Actualy, the recent number of requests with the same MX domain suffix.

>   * 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)?

check_recipient_mx_addres matches MX hostnames in the order as received.
If email is hosted at example.com then I expect that all MX hostnames
end in example.com.

        Wietse

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

Reply via email to