The manual groups these measures under one principle — least privilege: give each party exactly the minimum it needs for the job. There is nothing unusual in the list, and that is its strength: this is a baseline setup, not fine-grained protection.
A node has three surfaces, and the steps close them in turn: the right to hand over mail (who is allowed at all), where we accept from (the address range), who can reach the monitor — and, separately, which user the engine itself runs as.
What matters is that all five are expressed in configuration. This means they can be done by construction rather than recommended — which for a fleet is the only way that works: recommendations are followed on the first node and forgotten by the twentieth.
This is a legitimate trade-off, but it has a price: all submission protection starts resting on a single secret. So it has to meet everything the range would have had to — a different password per login, a limit on failed attempts, and awareness that everyone can see the open port.
The third step — halfway: the submission listener listens on 0/0, and so does the common source block, but 0/0 has no relaying permission. Without a login, mail can be submitted only from the machine itself and from the addresses in “Who may submit mail”; for everyone else the right comes from a login. The reason lies in how the fleet is built — nodes sit at different hosting providers, the submitting side’s address changes, and a strict range would break submission at every move.
The fifth step is not done: the run-as-root no line was removed from the templates on Aug 29, 2026 — one line did not move the node to the pmta user, and the nodes did not meet the other conditions of § 2.2.1. The engine runs as root.
# four steps visible in the node's configuration run-as-root no http-access 127.0.0.1 admin http-access 10.0.0.7 monitor <smtp-user pmtauser> password s3cret source {pmta-auth} </smtp-user>
what people get wrong and how it ends3 mistakes▶
§ 1.6.1
§ 1.6.1
§ 1.6.1
4 relations
http-accessGlobalThe directive that restricts access to the monitor; described in chapter 3. § 1.6.1Who can submit mail and on what termsRestricting receiving is expressed with source blocks and address ranges. § 1.6.1An account for submitting mailThe right to relay is granted to an account, not an address. § 1.6.1
Who is allowed to submit mail and for whom to accept itThe first and third steps of the recipe are exactly the two ways of deciding who is allowed to relay. § 1.6.1Running without root privilegesA related procedure: they share some of the steps. § 1.6.1What protects the web monitor and what that protection is notNarrowing access to the monitor is one of the recipe’s five steps; the rest are about mail submission. inference
grep -n 'run-as-root\|http-access\|smtp-listener' /etc/pmta/config
ps -o user= -p "$(pgrep -n pmtad)"
curl -sS -o /dev/null -w '%{http_code}\n' http://<node-address>:1000/
3 articles
◇How the node selects a source and combines its settingsA connection falls under all source blocks whose addresses cover it, and they act merged — the narrow one overrides the wide one; named blocks are attached only by direct reference.◇Submission logins, plain-text passwords and per-user settingsA sender logs in with one of three methods; each login is a configuration block with a plain-text password, and that login’s named source overrides what its address would have given.◇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.