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
›
Theme
Message content
entries in this theme: 40
from-domain
<rewrite-list>
Directive
Changes the address domain in the From header — the one the recipient sees; this rule does not touch the envelope.
html-edit-error-mode
<signals>
Directive
Refuse delivery or send as is when HTML parsing failed; the default is to refuse.
jobid-prefix
<source>
Directive
The value is prepended to the tag that arrived in the header; a reserved value substitutes the login of the submitting user.
mail-from
<rewrite-list>
set by the Hub
Directive
Changes the address from the SMTP MAIL FROM command — the one a bounce returns to and the one SPF checks; this rule does not touch the From header.
process-x-job
<source>
set by the Hub
Directive
A permission for the source: with it the header value becomes the message’s job tag, which is then used for selecting in the queue and for stopping a single mailing.
add-date-header
<source>
Directive
Adds a date to a message when the submitting side did not set one; the third value also rewrites an existing one.
add-message-id-header
<source>
set by the Hub
Directive
Adds an identifier to a message when the submitting side did not set one; an existing one is not rewritten.
add-received-header
<source>
set by the Hub
Directive
The normal behavior of a mail server is to leave a mark in the transfer chain; it is turned off so that the recipient does not see where the message was submitted from.
add-x-virtual-mta-header
<source>
Directive
The node itself signs the message with the name of the stream it went out through; the header reaches the recipient.
allow-mailmerge
<source>
Directive
Opens merge commands to the submitting side, with which one message is sent to many recipients with value substitution.
bcc
<source>
Directive
Every message accepted from the source goes as a blind copy to the named address; the manual suggests this for archiving.
engagement-tracking
<signals>
Directive
Three values: do not collect, send the events yourself or let the engine insert links and pixels; the default is not to collect.
host-id
Global
set by the Hub
Directive
A per-server unique number that keeps two engine installations from producing the same Message-Id; the default of zero is the same for everyone.
include-headers-from
Global
Directive
Names a file with headers in RFC 2822 format; they are inserted right after the Received header the node adds.
jobid-header
<source>
Directive
Names another message header from which the job label is taken; the usual method and the merge variable take precedence.
pattern-list
<source>
set by the Hub
Directive
Attaches a named rule list to the source; the list must be declared earlier in the file, and only one can be attached.
remove-header
<source>
set by the Hub
Directive
Lists, separated by commas, the headers removed at delivery; an empty string erases the inherited list.
rewrite-list
<virtual-mta>
Directive
Attaches a named list; messages leaving through this sending address go through its rules.
tracking-domain
<signals>
Directive
The domain that inserted links and pixels point to; the default is the vendor’s domain.
bcc-upon-delivery
<domain>
Directive
The blind copy is taken on the recipient side and only from delivered messages; an empty string erases the inherited value.
date-header-time
<source>
Directive
Chooses between the time the message was received and the time of actual delivery; applies only where the node adds the date itself.
enable-bottom-open-pixel
<signals>
Directive
The switch for one of three kinds of insertion; works only with tracking done by the engine, on by default.
enable-click-tracking
<signals>
Directive
The switch for one of three kinds of insertion; works only with tracking done by the engine, on by default.
enable-top-open-pixel
<signals>
Directive
The switch for one of three kinds of insertion; works only with tracking done by the engine, on by default.
macro-variables-preserve-case
<domain>
Directive
Applies only to $to and $from: the recipient’s user name and domain are always lowercased.
mailmerge-expands-undefined-variables
Global
Directive
With the default an undefined variable turns into nothing; with the value false it stays in the message as is, brackets included.
process-x-envid
<source>
Directive
A permission for the source: with it the header value becomes the message’s envelope identifier and the header is removed; without it the header is ignored and stays in the message.
replace-message-id-header
<source>
Directive
Rewrites an existing Message-Id with its own; has no effect at all on a message without an identifier.
retain-x-dkim-options
<source>
Directive
Decides whether the recipient will see the header with signing settings; the default is to remove it.
retain-x-job
<source>
Directive
Decides whether the recipient will see the job label; works only when reading the header is allowed and the header is present in the message.
pickup-remove-dot
Global
Directive
A concession to programs that escape a dot by SMTP rules where it is not required — in pickup directory files.
Headers the sender uses to control delivery
critical
Mechanism
Six control headers let the submitting side choose a stream, tag a message with a job, set signing options and the key, the envelope identifier and the schedule; each is allowed separately and per source.
The node can insert pixels and rewrite links by itself
Mechanism
In the vendor’s tracking mode the engine parses outgoing HTML, rewrites links to the tracking domain and inserts open pixels — with a choice of what to do if the markup cannot be parsed.
Markup parsing and editing
Mechanism
Open and click tracking in
sparkpost
mode edits the message markup with the built-in gumbo-parser; by default a message whose markup could not be parsed is bounced.
Personalization inside the engine
Mechanism
Variables are set per recipient, and the node substitutes them at delivery — one submitted message goes to many recipients with different content.
The HTTP submission format
Mechanism
Instead of a finished message, an HTTP request can carry the sender, subject, headers, text, HTML, AMP and attachments as separate fields — the node assembles and encodes the message itself.
Numbered merge parts
Mechanism
Numbered pieces of a message for multi-part merges: the first is implied, each number is used once.
Encodings at submission
Mechanism
Message data in a binding is added as 7-bit, 8-bit or base64: the first two do not change the data except for converting a lone LF to CRLF, base64 encodes on the fly; merge data supports only 7-bit and 8-bit.
Date header
Mechanism
The submission APIs can build a date header themselves for a message composed from scratch.
<rewrite-list>
Configuration block
A named list of rules; attached to a source by name, and all messages from there pass through it.