critical
The configuration is read once at startup. After that there are two ways to apply an edit, and they are not equivalent.
Reloading settings — the pmta reload command. The manual explicitly calls it more efficient: the engine rereads the files without stopping delivery. Most edits are picked up this way.
Restarting the service stops sending for the duration of the restart. Few directives need it, and each of them is marked in its own section of the manual — we have twenty-eight of these.
There is also a third case that is easy to miss. The web monitor port requires a restart not of the engine but of the monitor service itself. The difference is significant: one costs sending, the other does not.
What a reload does not do. It does not check the file in advance: parsing happens at the moment of applying, and an error will surface right then. A separate check command exists precisely to find out about an error before, not after.
Before that the Hub runs a parse check and shows a preview — so an error is caught before applying, not after.
The Hub writes no directives that require a service restart. The web monitor’s lines require a monitor restart — the Hub performs it itself after every apply. Two lines that a reload did not pick up were removed from the templates: run-as-root on Aug 29, 2026 and enable-source-ip-limits-on-sending-ip on Sep 15, 2026.
The choice is simple, and it is determined not by habit but by the directive:
| What was changed | How to apply it |
|---|---|
| a regular setting | with a reload — delivery is not interrupted |
| a directive marked as requiring a restart | by restarting the engine service |
| the web monitor port | by restarting the monitor service, without touching the engine |
| the vendor’s analytics settings | the manual advises a restart, although a reload is enough |
Check before applying. The check command parses the file without applying anything — its place is before every reload, and especially after an edit over the network, which does not check the contents.
Twenty-eight directives require a restart. There is no need to memorize them: the mark is in each one’s section, and in the catalog such pages have their own indicator.
# the order of an edit: check first, then apply pmta test config pmta reload# and only for marked directives: systemctl restart pmta
what people get wrong and how it ends3 mistakes▶
§ 3.1
§ 3.1
§ 3.3.1.30
3 relations
Apply a changed configuration without stoppingThe command behind this mechanism. § 3.1
http-mgmt-portGlobalThe only monitor directive whose restart the manual mentions directly; in practice all of its settings require a restart. § 3.3.1.58.1Starting and stopping the engineA settings reload does the same as a restart, but without stopping delivery. inferenceInvestigating a startup failureThe mechanism this step relies on. inferenceConfigurationThe mechanism that is visible here. § 5.6Clear the secrets cacheThe mechanism the command works with. inferenceConfiguration through the API and the file do not reconcileA related mechanism: they work together. § 8.3
pmta test config && pmta reload pmta show status
3 articles
◇Accept, route, deliverA message’s path inside the node: accept, decide where, deliver — and all the settings live between these three steps.◇Four value types the whole config is written inBoolean, domain pattern, regular expression and time interval — defined once in § 3.2 and then used by all directives.◇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.