The most expensive default in the APIcriticalmechanismInterception endpoints treat a missing or misspelled target as "everything", and answer 200.How delivery results leave a MailerQ nodecriticalmechanismResults are published to broker queues and removed by whoever reads them first — so collection is destructive, exclusive, and mandatory.What the console exposes, and how it is protectedcriticalWritten by the HubmechanismThe console can pause sending, rewrite messages, read message bodies and change every limit — and by default it is reachable from anywhere, unencrypted, behind a password it displays to whoever is already inside.Driving a modern MTA from a mailer that only speaks SMTPcriticalWritten by the HubmechanismTwenty-two headers turn an ordinary SMTP submission into a fully specified job, and the engine removes them before the message goes out.Three families of limit, applied at oncecriticalWritten by the HubmechanismA delivery is governed by the domain limits, the address limits and the connection limits simultaneously, and the strictest of everything that matches decides.Why mail leaves from the address it arrived oncriticalWritten by the HubmechanismMail handed to the built-in SMTP server goes out from the address it was handed to — unless a default address list is configured, which replaces the rule entirely.The message as the last wordcriticalWritten by the HubmechanismTen of the twenty-four properties override something the node has already decided — so the job is the fourth and final configuration layer.How a setting reaches a running nodecriticalWritten by the HubmechanismA MailerQ setting lives in the database and reaches a node one of two ways: quietly, when the node's cache expires, or at once, when someone publishes a reload message to the cluster exchange.One database, every node, no mastercriticalWritten by the HubmechanismEvery node reads the same 33 tables and none of them owns the data; a change is a row plus a reload message, and everything else follows from that.Why the result object decides what analytics can saycriticalmechanismThe result is the job plus the attempt history — which means our analytics are limited by what we put into the job, not only by what the engine reports.Three counters that belong in a total and are not in onecriticalmechanismstrange is counted by nothing, unassignable by one total, expired and norecipients by the other — so no number on the screen is the count of failed messages.Where it stopped versus why it failedcriticalmechanismMailerQ classifies by stage, PowerMTA by cause, and Hub's analytics speak the second — so the states must be mapped before a MailerQ node can appear in the same charts.How MailerQ waits between attemptsimportantmechanismRetry waiting is done by the broker, not the engine: a message is published into a queue whose messages expire after a fixed time and whose expiry routes them back to the sending queue.Why the resolver is a delivery concern, not an infrastructure detailimportantWritten by the HubmechanismA failed lookup is a permanently failed message, so the resolver a node uses is part of its deliverability, not part of its plumbing.One number per counter, per second, per sliceimportantmechanismThe engine publishes a fixed array of twenty-four values every second for each slice of the address × domain × tag filter; everything else is arithmetic on top.One token — and one accidental second doorimportantWritten by the Hubmechanism/v1 accepts a bearer token from rest_tokens — and also the session cookie of anyone logged into the console.The template language the log formats shareimportantWritten by the HubmechanismLog lines are rendered from templates with access to whole objects by path and with conditionals — so a log can carry anything a message or a result contains, including our own fields.The three limits that end an undelivered messageimportantWritten by the HubmechanismA message stops being retried when the retry list is exhausted, the attempt count is reached, or the deadline passes — and the shipped values for the three do not line up.Where queue names come from, and what inherits themimportantWritten by the HubmechanismThe consumed queue takes its name from rabbitmq-queue, or from rabbitmq-outbox when that is absent — and the entire delay ladder is named after it.Where held-back mail goes, and why their names matterimportantmechanismMail held back by a rate limit, a flood pattern, a pause or greylisting is moved into a queue created on the spot and named after what is holding it.The forty endpoints behind the management consoleimportantWritten by the HubmechanismEverything the REST API cannot do is done by the console over its own HTTP interface — which our own code can use as well.Six places the interface says one thing and does anotherimportantmechanismA short list, all verified: a control that does nothing, a password in clear text, a list that does not refresh, a key that signs nothing, a hidden screen, and orphaned rows.What the engine does not sendimportantmechanismNine of the thirty-three counters exist only in the browser, with their arithmetic written in the console's own source.Save, reload, and a list that does not refreshimportantWritten by the HubmechanismA console save writes the database and makes the engine re-read at once — but the screen showing the result is stale until reloaded.200 is not success and 400 is not "no such endpoint"importantmechanismThe API's codes describe the request, not the outcome: a DELETE that matched nothing still answers 200.One undocumented directive, and an API version to matchmechanismThe engine loads shared objects from plugin-directory; the header they must be built against declares API version 8.Traffic a MailerQ node generates that is not mailmechanismBesides mail, a node reports usage to the vendor, may send crash reports, and fetches resources referenced by messages — three outbound channels a customer may ask about.Three places a message body can be, and what each costsmechanismA body travels inside the job through the broker, or sits in an external store addressed by a key, or arrives as a file in a watched directory — and each choice moves the bottleneck somewhere else.One binary, and seven programs that are not in itWritten by the HubmechanismThe server package is one program. Every companion tool the documentation describes is a separate installation we have not made.