Home
Features
Modules
Integrations
PowerMTA Docs
MailerQ Docs
Pricing
Blog
D
e
m
o
Home
Features
Modules
Integrations
PowerMTA Docs
MailerQ Docs
Pricing
Blog
D
e
m
o
Home
Features
Modules
Integrations
PowerMTA Docs
MailerQ Docs
Pricing
Blog
Home
Knowledge base
Knowledge base
PMTA knowledge base
›
Scenario
Untangle a stuck queue
entries in this scenario: 51
log-file
Global
set by the Hub
Directive
The path to the log file; the line is mandatory, and it also sets the location of the monitor and SNMP logs.
max-memory-usage-percent
Global
Directive
When the share of physical memory is exceeded, the node responds 452 to MAIL FROM until usage drops back below it.
spool-max-recipients
Global
Directive
Limits how many recipients the node holds in queues; above the ceiling, submission is refused with a temporary error. The default is to calculate from the machine’s resources.
log-commands
<source>
set by the Hub
Directive
Writes the full exchange of commands and responses to the log; the vendor calls this the first step when investigating connectivity.
log-rotate
Global
Directive
The number of files, including the current one; the default is eight, and zero turns rotation off entirely.
allow-priority-interruption
<domain>
Directive
With the value no the queue becomes untouchable: its connections are not taken away, however high the neighbor’s priority.
allow-priority-interruption-during-transfer
<domain>
Directive
With no the interruption is postponed until the connection frees up; with yes it happens immediately, in the middle of a transfer. Only for SMTP queues.
log-connections
<source>
set by the Hub
Directive
Writes a log line when a connection from this source opens and closes; off by default.
log-data
<source>
set by the Hub
Directive
Records the exchange byte by byte, in hexadecimal and as text at the same time; the most detailed and heaviest level.
log-verbose
<signals>
Directive
Adds messages about the export of events to SparkPost Signals to the log; off by default.
max-message-hops
<source>
Directive
Loop protection: the node does not accept a message that has passed through too many mail systems.
spool-delete-corrupted
Global
Directive
Message files with encoding errors — traces of data corruption on disk — are deleted instead of lying around idle.
log-hires-timestamp
Global
Directive
Adds milliseconds to log timestamps; off by default.
A file, a program or an endpoint — and a file under each of the three
critical
Mechanism
Three ways to hand off accounting records; an endpoint still has a file underneath, which is deleted only after a successful send, and a non-2xx response triggers a retry.
What the node tells about itself and through which channels
critical
Mechanism
Seven observation surfaces: the web monitor, the console in four formats, the log, accounting, accounting search, metrics and export to external analytics.
A queue is a receiving server together with a sending address
critical
Mechanism
The engine groups messages by the “recipient domain plus sending address” pair: one domain from two addresses is two independent queues with their own counters, connections and mode.
Recipients deferred after a temporary refusal
Mechanism
A recipient to whom the receiver responded with 4xx moves into a separate waiting area with a per-receiver interval; two commands can release it early.
A retry ladder of your own
Mechanism
retry-after
and
backoff-retry-after
accept a list of intervals — up to 30 steps, and the last one applies until the bounce.
The receiver declares an encryption requirement in its DNS zone
Mechanism
The node looks at the recipient domain’s DANE records and, if STARTTLS is required, sends only over an encrypted channel with a certificate verified by fingerprint.
Directives with the same name
Mechanism
A directive name defines a setting only together with its block: 48 of 417 names are documented in more than one place, and one name in different blocks is not always one setting.
The watchdog that restarts the engine
Mechanism
Keeps an eye on the engine and brings it back up after a crash by itself, sending a crash report to the postmaster address.
The node needs a resolver that does all the work itself
Mechanism
The engine requires recursive name resolution; a resolver that answers with a referral to another server forces the query to be repeated and triggers a log warning.
What makes a virtual machine risky
Mechanism
Running on a virtual machine is possible, but the manual does not recommend it without sufficient hardware and properly tuned hypervisor settings: under load the node may stop responding.
Sending windows set in the message itself
Mechanism
A header carries one or more intervals during which the message may be sent; the schedule cancels the message’s lifetime, and the message bounces when the windows run out.
The log and accounting — two files and two different questions
Mechanism
The engine keeps a separate log and a separate accounting file; the separation is made for the sake of format, performance and the ability to hand over the log without disclosing data.
Keeping selected domains resolved at all times
Mechanism
A file with a list of domains whose DNS records are refreshed on their own schedule, independently of the queue and regardless of their own time to live.
Figure out why a queue to one receiver is growing
Procedure
First check the route and reachability with one command, then make the node attempt delivery with the session logged, and only for an intermittent problem enable per-receiver logging.
What to do after a crash
Procedure
The procedure after a crash: make sure the watchdog brought the engine back up, keep the report email, find the crash dump, pass it to the vendor.
show queues
critical
Command
Shows the selected queues and, unless told otherwise, the last fifty deliveries, bounces and delays; selection is by connection, mode and pause state.
clear dnscache
Command
Removes all records of a domain from the engine’s DNS cache; with a star, the whole cache.
list
Command
Lists recipients in queues by selection; with
–pause
it interrupts a recipient’s delivery to show it.
resolve
Command
Queries a domain’s MX records and addresses and with
–connect
connects to the first available mail host.
schedule
Command
Immediately schedules delivery attempts for queues without waiting for the retry interval; with an option it also releases deferred recipients.
trace
Command
Opens a connection to a domain and tries to deliver one message from the queue, writing the SMTP conversation to the log.
rotate log
Command
Closes the current log and starts a new one; the previous one stays in place.
show precache
Command
Prints the domains whose records the node refreshes regardless of the queue contents.
Return a node file
critical
API endpoint
Returns a log or accounting file by name from the
/logs
list.
Messages in the queue
API endpoint
Lists messages in the selected queues, filtered by job, envelope, recipient and sender.
List of logs and accounting files
API endpoint
Lists the log and accounting files the monitor can serve; the contents themselves come through
/getFile
.
Temporary queue failure
Accounting record
The attempt failed at the queue level: the connection was refused, was not established or dropped before the conversation about messages.
The receiver refused the connection
Error code
The connection was not established: the remote host rejected it — either the mail server is down, or a filter is rejecting this particular sender.
The receiver went silent mid-conversation
Error code
The connection is established, but the receiver stopped responding; the engine waits ten minutes, and this time is not configurable.
The name lookup did not complete — and no conclusion is drawn
Error code
The name service query failed, usually on timeout; the engine deliberately does not bounce the message on such a failure.
Connections
Metric
The number of simultaneous connections: now, the maximum and the allowed limit, in both directions.
Name cache
Metric
The number of names in the cache and the number of queries waiting for a response; separately, active queries.
Queue depth
Metric
Recipients, recipient domains and kilobytes in the queue.
Three short histories for each queue
critical
Monitor screen
The page of a single queue carries the last fifty recipient events, the last ten queue errors and the last ten mode changes.
Logs
critical
Monitor screen
A list of log and accounting files with download links.
Queues
Monitor screen
The top queues — “receiver and sending address” pairs — and a filter form: by connections, mode, list length and order.
Node status
Monitor screen
Node state on one page: traffic, peaks, connections with the ceiling, the DNS cache, the spool and queues by delivery method.
The node's own log
File
The engine’s own log: startup and shutdown, errors, connection traces and warnings; rotation is automatic, the number of kept files is configurable.