The engine is started by the platform’s standard means: as a service on Windows, with a startup script on Unix.
After start there must be two processes. The engine itself and the watchdog that brings it back up after a crash (pmtawatch). If there is no watchdog, the node loses the ability to get back up on its own — and this can only be noticed by checking.
A stop halts delivery but does not touch the messages. They lie in the spool on disk and are picked up at the next start. So a stop is safe for mail and dangerous only for deadlines: messages age, and the bounce deadline keeps running.
A start with a wrong configuration does not go through. The engine does not take the “last working” one and does not start with defaults — it simply does not come up, and writes the reason to a separate file (startup-error-log).
On its own the Hub does not restart the service — and its templates contain no directives that require a service restart. The web monitor’s lines require a monitor restart, and the Hub does that itself after every apply.
⚠️ Checking that the watchdog came up together with the engine remains manual: telemetry only has the engine itself.
What to remember about a stop:
| What | How it behaves |
|---|---|
| messages in the queue | stay on disk, are picked up at start |
| bounce deadline | keeps running while the node is down |
| incoming connections | are not accepted, the submitting side gets a rejection |
| watchdog | must come up together with the engine — check |
Match the length of a stop to the bounce deadline. Downtime of a quarter of the deadline is harmless; downtime longer than the deadline means part of the queue will bounce right after the start.
Warn the submitting side. While the node is down, platforms get a rejection at submission — and what they do with it is up to them.
# after start there must be two processes /etc/init.d/pmta start ps -ef | grep -E '[p]mtad|[p]mtawatch'
what people get wrong and how it ends3 mistakes▶
§ 4.1
§ 4.1
§ 4.2.1
3 relations
What to do after a crashA related procedure: they share some of the steps. inferenceSpool reading at startupThe part of startup that takes time, and the only sign that it has finished. § 5.3Apply a changed configuration without stoppingThe heavy way of applying — with sending stopped; only a few directives need it. § 6.3.5Switching over to a standby nodeA related procedure: they share some of the steps. § 11.11
ps -ef | grep -E '[p]mtad|[p]mtawatch' 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.◇Reloading settings versus restarting the serviceThe configuration is read at startup, and after that edits are picked up by the reload command — except for the directives the manual marks as requiring a restart.