Everything the manual requires before installing the engine. None of the requirements looks serious on its own, and each one left unmet shows up later and somewhere other than where people look for it.
A supported system and architecture. The list is finite, and trying to install the engine on something outside it does not produce a clear error.
A static address and domain name. The sending address is the foundation of reputation: a changed address means reputation from scratch. The name is needed no less — it is what the node introduces itself to the receiving server with.
A reachable resolver. It can be on another machine, but it must be recursive: the engine does not walk the chain of name servers itself.
Time synchronized via NTP. Clock drift breaks not sending but analysis: events in accounting and the log stop matching what receiving servers and the Hub see.
Sized hardware. Not “more is better,” but by two rules: memory from the number of recipients in the queue, disk from the volume of messages (capacity-sizing).
The license key is requested from the vendor’s support in advance — without it the engine will not work.
What the check does not cover: address stability, resolver recursion, clock synchronization and the presence of a license key. These stay with whoever sets up the node.
Our thresholds mean “suitable at all,” not a calculation for a plan: the Hub could size hardware from the planned volume — it has enough data — but there is no sending profile yet.
Six requirements and what each one checks:
| Requirement | What failing it threatens | Checked |
|---|---|---|
| supported system | installation without a clear error | before installation |
| static address and name | an address change resets reputation | at the provider, not on the node |
| recursive resolver | delivery failures that look like receiver problems | by querying it |
| synchronized time | accounting drifting from reality | by comparing with an external source |
| sized hardware | hitting memory or disk limits under load | with two rules of thumb |
| license key | the engine will not start | in advance, with support |
Check in order from the irreversible to the fixable. Changing the address and name after they have built up reputation is the most expensive; memory and disk can be added on the fly at most hosting sites.
Check the resolver with a query, not by a line in the settings. A resolver that is listed but not recursive looks configured and does not work.
# six checks on one page hostnamectl && ip -4 addr show dig +short @127.0.0.1 gmail.com MX # the resolver answers and is recursivetimedatectl | grep -i 'synchronized' nproc && free -m && df -h /var
what people get wrong and how it ends3 mistakes▶
§ 1.7
§ 1.7
§ 1.7
3 relations
How to turn a sending plan into hardwareProvides the two rules by which memory and disk are sized. § 1.7.1.2Cloud restrictionsIn the cloud the list gets an item of its own: the restriction on the outgoing mail port has to be lifted. § 1.7
What makes a virtual machine riskyThe procedure in which the mechanism is applied. § 2.5Installing on LinuxAll the machine requirements must be met before this step. § 1.2name-serverGlobalThe resolver is one of the requirements for the machine the node will run on. § 1.2thread-reuseGlobalThe only setting whose default depends on the architecture of the machine the node will run on. § 3.3.1.38
pmta show status pmta show license pmta resolve gmail.com MX
3 articles
◇The activation key is a prerequisite for installation, not a step after itWithout an activation key from SparkPost support the engine neither installs nor runs, and the license tier sets the outbound connection ceiling: on Standard everything above 200 is ignored.◇Cloud restrictionsClouds restrict outbound mail on port 25 until you ask them to lift the limit, and mailbox providers treat their address ranges with suspicion.◇How to turn a sending plan into hardwareTwo constants for sizing any node: about 2 KB of memory per queued recipient and spool space proportional to the total size of the messages.