Globalcriticalset by the Hub
The default is false. The line allows the named source to send mail to any recipient — that is, not only to the domains the node has declared its own.
The manual’s advice is direct: enable it in the source blocks of internal machines that submit mail to the node over SMTP.
This is the very thing a mail node exists for as a sender — and the thing that turns it into an open relay if the source is specified wrongly.
Out of the box, relaying is forbidden. Until sources are explicitly allowed, the node accepts submission only from the 127.0.0.1 address.
The second half is quieter: a right granted by address does not survive a move. The platform switched hosting providers — submission stopped, and the usual cure is widening the mask. The widened mask stays forever.
The way out of both traps is the same — tie the right not to an address but to an account: grant the permission to the login’s named source, which only logged-in clients get into.
The permission is set in three places: in the 127.0.0.1 source (submission from the machine itself), in a block for each address in “Who may submit mail”, and in every named submission source, which only clients logged in with a login get into. The general 0/0 block does not have it.
So a connection from an address not on the list cannot submit mail without logging in. For a submitting side that logs in, a move breaks nothing — the login stays the same; an address on the list has to be edited after a move.
What to set. The question is not the value but which block to give it to:
| Where | What you get |
|---|---|
| the login’s named source | the right follows the account: a move does not break submission, revocation is possible |
| your platform’s narrow subnet | works until the address changes |
| 0/0 | an open relay — never the right option |
The first is the only layout that does not fall apart on a move and lets you revoke access for a single sender.
# the right follows the login, not the address of the submitting machine <source {pmta-auth}> require-auth true always-allow-relaying yes</source>
what people get wrong and how it ends3 mistakes▶
our experience
§ 3.3.1.54.1
our experience
4 relations
grep -n -B3 'always-allow-relaying' /etc/pmta/config /etc/pmta/virtualhost.txt printf 'HELO test\r\nMAIL FROM:<a@example.com>\r\nRCPT TO:<b@gmail.com>\r\nQUIT\r\n' | nc <node-address> 25
3 articles
◇Who is allowed to submit mail and for whom to accept itOut of the box, the node accepts submission only from the machine itself; two different questions — “who can send through us” and “for whose addresses we accept mail” — are answered by different directives.◇Headers the sender uses to control deliverySix control headers let the submitting side choose a stream, tag a message with a job, set signing options and the key, the envelope identifier and the schedule; each is allowed separately and per source.◇The load balancer header at the entranceThe node reads the PROXY header at the start of an incoming connection and treats the address from it as the source; this works for both kinds of entry point.