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
Tune the pace for a provider
entries in this scenario: 99
bounce-after
<domain>
critical
set by the Hub
Directive
Until this point the message lives in the queue and takes up disk space.
max-msg-rate
<domain>
critical
set by the Hub
Directive
It counts both deliveries and bounces — this is not “successful messages per hour.”
max-smtp-out
<domain>
critical
set by the Hub
Directive
The main lever of pressure on the receiver: it sees the limit multiplied by the number of your addresses.
retry-after
<domain>
critical
set by the Hub
Directive
It can be set as a sequence: 10m, 1h, 4h — and then the pauses grow from attempt to attempt.
total-max-smtp-out
Global
critical
set by the Hub
Directive
Kicks in first if a queue limit is higher; on a Standard license — silently.
auto-mx-rollup
Global
Directive
One line instead of a list: the node groups the domains itself and makes up the queue name itself.
backoff-max-msg-rate
<domain>
set by the Hub
Directive
The rate in backoff mode; without an explicit value the normal one is used — that is, the mode will slow nothing down.
backoff-max-smtp-out
<domain>
set by the Hub
Directive
The only one in the family with its own default — 20, not “same as in normal mode.”
backoff-reroute-to-virtual-mta
<domain>
set by the Hub
Directive
The only one in the family that does not slow down but moves: messages leave from another address while the queue is in backoff mode.
backoff-retry-after
<domain>
set by the Hub
Directive
The retry schedule for the duration of backoff; set as a sequence.
backoff-to-normal-after
<domain>
set by the Hub
Directive
After what interval the queue returns to normal mode by itself
backoff-to-normal-after-delivery
<domain>
set by the Hub
Directive
Whether one successful delivery returns the queue to normal mode
backoff-upon-all-sources-disabled
<domain>
Directive
The vendor warns directly: the queue will not come back by itself — a return timer is needed.
bounce-category-patterns
<domain>
Directive
Puts your own reply parsing ahead of the general one — without changing whether the message bounced.
bounce-upon-5xx-greeting
<domain>
set by the Hub
Directive
The vendor default is yes, and one misconfigured server in the MX list is enough to burn the queue.
bounce-upon-no-mx
<domain>
set by the Hub
Directive
It accepts more than yes and no: an interval gives the domain time during which the node can try the address directly.
domain
<virtual-mta-pool>
Directive
Rules for a receiver written inside a pool are inherited by each of its members; a member’s own block overrides them.
enable-tq-record-for-proxy-failure
<domain>
Directive
Records proxy connection failures in tq accounting records; off by default and ignored without this record type.
max-connect-rate
<domain>
set by the Hub
Directive
How fast to open new connections to this recipient domain
max-smtp-msg-rate
<virtual-mta>
Directive
The only rate limit that counts the sending address as a whole rather than each queue separately.
max-smtp-out
<virtual-mta>
set by the Hub
Directive
The overall ceiling of the sending address. Without the line there is none at all — queues add up without limit.
precached-domains-file
<dns>
Directive
A text file with one domain per line; the listed domains are resolved regardless of whether there are messages for them in the queue.
precached-refresh-interval
<dns>
Directive
Sets a refresh schedule instead of the receiver’s record time to live: these domains’ own TTL is ignored.
proxy-include-tlv
Global
Directive
Adds a field with the queue domain to the PROXY header; requires the second protocol version.
proxy-retry-after
<domain>
Directive
The same retry step, but for the case when the connection through the proxy did not reach the receiver.
queue-to
<domain>
Directive
Written in the block of each domain in the group: you set the shared queue name, the node does not derive it.
reenable-source-ip-after
<domain>
Directive
The default is never: an address disabled without an explicit deadline will never come back.
reroute-to-virtual-mta
<domain>
Directive
The queue stays the same; what changes is the second half of its name — the address messages leave from.
retry-recipients-after
<domain>
set by the Hub
Directive
A lower bound on the pause for an address that got a 4xx response — on top of the queue’s common schedule.
smtp-553-means-invalid-mailbox
<domain>
set by the Hub
Directive
A guess in place of what the receiver left unsaid — and whether the address ends up on the blocklist depends on it.
smtp-pattern-list
<domain>
set by the Hub
Directive
Attaches a named pattern list to connections with the recipient domain; it is used to parse its SMTP responses and assign actions.
allow-cancel-during-transfer
<domain>
Directive
The default allows it — for a fast service shutdown; turning it off protects against duplicates but makes the node stop more slowly.
assume-delivery-upon-data-termination-timeout
<domain>
set by the Hub
Directive
A bet that the message got through: there will be no duplicates, but no truth in accounting either.
auth-password
<domain>
Directive
The second half of the pair; the hash sign is not allowed in it — the engine treats it as the start of a comment.
auth-username
<domain>
Directive
One of the two lines that enable outgoing authentication: either of them being non-empty is enough.
backoff-max-connect-rate
<domain>
Directive
The default is tricky: without an explicit value the regular connection rate is taken — that is, backoff does not slow connections down.
backoff-max-data-volume-rate
<domain>
Directive
The same default trap: without an explicit value the regular volume limit is taken.
bounce-upon-transfer-failure
<domain>
Directive
A choice between the risk of a duplicate at the recipient and the risk of not delivering the message at all.
connect-timeout
<domain>
Directive
The first timeout of the conversation: things have not yet reached the greeting.
connection-idle-timeout
<domain>
set by the Hub
Directive
The maximum is ten minutes: that is how long the engine is willing to keep a connection waiting for the next message.
disable-mx-rollup
<domain>
Directive
Turns off both kinds of combining for the domain at once — both the manual list and the automatic one.
domain-macro
Global
set by the Hub
Directive
Declares a variable with a list of domains; after that its name with a dollar sign is substituted where the domains would otherwise have to be listed again.
ip-connection-limit
Global
Directive
The same as the limit by MX name, but selection goes by addresses in CIDR notation; allowed only at the node level.
max-data-volume-rate
<domain>
set by the Hub
Directive
How many bytes per interval, counting only successful deliveries
max-errors-per-connection
<domain>
set by the Hub
Directive
The default is no limit: the connection lives on, however many recipient refusals pile up on it.
max-msg-per-connection
<domain>
set by the Hub
Directive
The default is zero, no limit: it pays for the engine to send as much as possible over one connection.
max-rcpt-per-transaction
<domain>
Directive
Cuts a message with a large list into several transfers: more parallelism, but the body goes to the receiver as many times as there are pieces.
max-smtp-data-volume-rate
<virtual-mta>
Directive
The only ceiling that counts volume rather than messages — and only the volume that got through.
mx-connection-limit
Global
Directive
Limits connections to each MX matching a pattern — but for each sending address separately, not in total. The vendor advises MX rollup instead.
precached-max-domains
<dns>
Directive
A ceiling on the number of domains taken from the file; it cannot exceed the number of lines in the file, and extra lines are cut off silently.
queue-priority
<domain>
Directive
When there are no free connections, the engine interrupts the connections of lower-priority queues — starting with the lowest.
retry-after-dns-error
<domain>
set by the Hub
Directive
A separate, shorter step: the receiver never saw this attempt, and haste does not threaten it in any way.
retry-upon-new-mail
<domain>
Directive
Bypasses the retry schedule: every new message in the queue schedules an attempt immediately.
smtp-421-means-mx-unavailable
<domain>
set by the Hub
Directive
The vendor default is to stay on the same connection; enabling it moves the queue to the receiver’s backup server.
smtp-data-termination-timeout
<domain>
Directive
The last wait of the conversation — and the most dangerous one: shorten it and you get duplicates.
smtp-out-rampup-interval
<domain>
set by the Hub
Directive
A soft start: connections are opened one at a time with a pause, not in a burst.
use-unencrypted-plain-auth
<domain>
Directive
Both mechanisms transmit the password in the conversation; without encryption it goes over the network in the clear.
verp-default
<domain>
Directive
The same enabling, but targeted: only for messages to this domain.
bounce-upon-pix-transfer-failure
<domain>
Directive
A narrow case of the general line: it fires if the receiver’s greeting contains at least ten asterisks.
data-send-timeout
<domain>
Directive
The third wait of the conversation; the manual reminds: less than three minutes violates the mail standard.
default-smtp-port
<domain>
Directive
Usually 25; a change is needed where sending addresses are told apart by destination port.
ignore-8bitmime
<domain>
Directive
A workaround for a known incompatibility: the external gateway accepts 8BITMIME, while the internal one behind it does not.
ignore-chunking
<domain>
Directive
A debugging switch: returns the transfer to the ordinary DATA command.
ignore-dsn
<domain>
Directive
Cancels the delivery report requests the message carries from submission.
ignore-pipelining
<domain>
Directive
The second debugging switch: commands go one at a time, with a reply to each.
max-rcpt-per-message
<domain>
Directive
The same splitting limit under another name — and a full namesake of the reception setting from the submission block.
pix-bug-workaround
<domain>
Directive
On by default: a workaround for a known fault that causes messages to be duplicated.
replace-smtp-421-service-response
<domain>
Directive
Replaces the text after the 421 code with “service unavailable”, so that addresses from someone else’s reply do not get into the bounce report; pattern-based parsing keeps working.
reuse-ssl-session
<domain>
set by the Hub
Directive
Speeds up a repeated handshake with the same host; does not work on TLS 1.3 and, according to the manual, is supported by only one known receiver.
smtp-greeting-timeout
<domain>
Directive
The second wait of the conversation: there is a connection, the receiver is silent.
track-jobs
<domain>
Directive
Enables counting jobs per receiver and showing them on its page in the web monitor; off by default.
How the policy for a receiver is assembled
critical
Mechanism
Settings are assembled from the most general pattern to the most precise; the order of blocks in the file means nothing.
Backoff mode — the queue's second personality
critical
Mechanism
A queue that a receiver has started refusing switches to a parallel set of limits, retries and routes — ten directives that act only in this mode.
Different domains in one queue, because the gateway is the same
critical
Mechanism
Domains whose lowest-priority MX records match the list are combined into one queue and limited as a single receiver.
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.
Four ways to say “slower”
critical
Mechanism
Messages, data volume, connection rate and number of connections — each has its own limit, and each has a “per source address” variant and a backoff mode twin.
Recipient events
critical
Mechanism
The last 50 delivery, bounce and deferral events per queue — enabled with
track-recipient-events
and visible in queue output.
Reputation monitoring inside the node
critical
Mechanism
The engine itself watches the receiving servers’ replies and changes the queue mode on a pattern match — a reaction within the connection, not through telemetry.
Four value types the whole config is written in
critical
Mechanism
Boolean, domain pattern, regular expression and time interval — defined once in § 3.2 and then used by all directives.
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 on its website
Mechanism
The node fetches the recipient domain’s policy over HTTPS and, if it is in enforce mode, delivers only when the MX matches, the connection is encrypted and the certificate is verified.
Three pool rules the manual states directly
Mechanism
Rotation-based distribution, inheritance of settings by members with the member’s own values overriding, and a namespace shared with sending addresses.
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.
Merging domains into one queue by hand, by naming it
Mechanism
The same merging, but by your list rather than by MX match: you set the queue name.
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.
<domain>
critical
Configuration block
The largest PowerMTA block and the main one among those the Hub generates itself.
set queue
critical
Command
Switches queues to backoff or normal mode; stars change many queues at once.
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.
schedule
Command
Immediately schedules delivery attempts for queues without waiting for the retry interval; with an option it also releases deferred recipients.
Details of one queue
critical
API endpoint
Returns one queue with short histories: the latest recipient events, errors and mode changes.
Receiver policy inside an address
API endpoint
Creates, reads, extends and deletes receiver blocks inside a sending address created through the API.
Temporary failure
Accounting record
One delivery attempt failed, and the recipient stays in the queue until the next one.
Refusal at the greeting
Error code
The receiver returned an error at the very first step of the conversation — usually 4xx: busy, temporarily not accepting mail or not allowing this connection.
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.
Connections
Metric
The number of simultaneous connections: now, the maximum and the allowed limit, in both directions.
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.
Receivers summed across all sending addresses
Monitor screen
The busiest recipient domains by number of recipients: volume, open connections and the last error, plus a form for selecting a specific domain.
Queues
Monitor screen
The top queues — “receiver and sending address” pairs — and a filter form: by connections, mode, list length and order.