<domain>
How many recipients the engine undertakes to serve per interval from a given sending address to a given recipient domain. Attempts are counted, not successes: a temporary refusal uses up the limit just like an accepted message.
What the directive was invented for — the manual says so directly. It is for those who gather several IPs into one sending address and want to limit the rate of each IP per recipient domain. Without it there is only max-msg-rate — the rate of the whole queue, which the IPs inside share however it happens: the address whose messages were picked up first takes someone else’s share.
The mask comes first, and each address gets the number. source-ip-max-msg-rate 1.2.3.0/24 600/m means six hundred messages per minute from each address in the subnet. What counts as a sending address is decided by enable-source-ip-limits-on-sending-ip.
Three rate levels act at the same time. The queue (max-msg-rate), the sending address as a whole (max-smtp-msg-rate) and an individual IP within the queue — this one. The lowest one triggers, and in the monitor the difference is visible only from the text of the limit message.
It will be needed in someone else’s configuration where IPs are gathered in bundles. With the proxy gate it was not needed: each proxy has its own sending address with a single smtp-proxy-source-host line.
Divide, do not assign. Take the rate you are willing to give the whole queue and divide it by the number of addresses in the mask — that is the value. Assigning each address “as much as you can spare” is pointless: the recipient domain sees the sum.
Count per large recipient domain. The value applies within one queue, that is, separately for each mailbox provider. An address’s daily plan is first divided by the number of receivers, and only then spread over the sending window.
The denominator accepts a multiplier — 100/15m, 83/5s. It appeared in PowerMTA 5.
The default is unlimited: there is no separate per-address rate, and only the queue rate applies.
# one sending address has four IPs, and we split the queue rate among them <domain comcast.net> max-msg-rate 2400/m source-ip-max-msg-rate 1.2.3.0/30 600/m</domain>
what people get wrong and how it ends3 mistakes▶
§ 3.3.10.93
our experience
§ 3.3.10.86
2 relations
grep -rn source-ip-max-msg-rate /etc/pmta/ pmta show queues --maxitems=20
3 articles
◇The sending address — what it is made ofA named set of everything that is a property of the address: which IP the message leaves from, how the node introduces itself, what it signs with and how fast it sends.◇The sender names the stream for each messageThe message carries the name of the stream it should be sent through — the choice is made by the submitting program, not by the node configuration.◇Cloud restrictionsClouds restrict outbound mail on port 25 until you ask them to lift the limit, and mailbox providers treat their address ranges with suspicion.