The task. Any fleet node: the submission port must serve the platforms the Hub knows and no one else, and the MX port must accept reports without becoming a loophole inside.
What it is made of:
The parts have different scopes. All four are set on a source or a source group and depend on source merging: a lenient 0/0 provides defaults that narrow entries do not override.
How they interact. The manual gives the smtp-service scheme directly, and warns separately about always-allow-relaying in an open listener’s source. The reserve and the sender lists are ours: the first because submission and reports on MX share one inbound node limit, the second because otherwise nothing stops a source from sending on behalf of someone else’s domain.
Four lines:
| Line | Where | Value |
|---|---|---|
| smtp-service | 0/0 | no; for submission addresses and the MX listener’s source — yes |
| always-allow-relaying | submission sources | yes; nowhere else |
| reserved-smtp-in | the submission source group | how many connections the platforms hold |
| allowed-sender-lists | submission sources | lists of senders the source may send on behalf of |
smtp-listener 0/0:2525 smtp-listener 0/0:25 source=mx-reports <source 0/0> smtp-service no</source> <source 203.0.113.20> smtp-service yes always-allow-relaying yes </source> <source mx-reports> smtp-service yes </source>
grep -n '<source\|smtp-service\|always-allow-relaying\|smtp-listener' /etc/pmta/config