<source-group>
The line reserves a certain number of inbound connections for a source group. This is “no fewer than” — unlike the neighboring max-smtp-in, which says “no more than.”
The reserve is subtracted from the node’s overall limit total-max-smtp-in: slots given to the group cease to exist for everyone else — even while the group is not using them.
The point is not to let the busy side crowd out the rare but important one. The classic case: receiving complaints and reports, of which there is little but which must not be missed, next to submission, of which there is a lot.
The second half of the trap is real: the reserve is taken away from everyone else at once. A sum of reserves close to the node’s overall limit leaves almost nothing to the sides without a reserve — and the node starts refusing connections even though half the slots are idle.
Meanwhile we do have a case for a reserve: a node simultaneously accepts submission and inbound mail — complaints, asynchronous bounces and role addresses. There is little of the latter, but losing it is worse than delaying submission.
What to set. The reserve is calculated from how many connections the group needs at the worst moment, not on average:
| Value | When |
|---|---|
| do not write it | there is no one to divide the node between |
| 5–10 | receiving complaints and reports: few connections, but they must not be lost |
| a noticeable share of the total | the side the node was set up for |
Keep the sum of reserves well below the node’s overall limit: everything reserved does not exist for the others, even while idle.
# five slots from the node's overall limit always go to the group <source-group localSources> max-smtp-in 10 reserved-smtp-in 5</source-group>
what people get wrong and how it ends3 mistakes▶
our experience
§ 3.3.9.2
§ 3.3.7.55
3 relations
grep -n -A3 '^<source-group' /etc/pmta/config grep -n 'total-max-smtp-in' /etc/pmta/config
3 articles
◇The source default is the bottom rung, tied to whoever connectsA source block matching the sender’s address can name a default stream; it applies when no choice was made higher up the ladder.◇How a message gets into the engineSix described submission methods: extended SMTP, four language bindings and a directory the node watches on disk.◇A license for a fleet, not for a serverThe license is not bound to a server: it is installed on as many machines as the instance limit allows, and the nodes send volume statistics to the vendor every hour.