critical
Mail merge variable names that start with a star are taken by the engine. Five control the recipient’s message: *from — the envelope sender, *envid — the envelope identifier, *vmta — the sending address or pool, *jobid — the job, *parts — the set and order of parts.
The rest set delivery and SparkPost details: *schedule — the schedule, *priority — priority from 1 to 100, 50 by default, *subaccountid and *custommessageid. *to and *date are filled in automatically and cannot be overridden.
The star beats the configuration: *vmta overrides any other way of choosing the sending address, *envid and *jobid override what was set otherwise, *priority overrides the priority from <pattern-list>. Recipient data becomes a control channel.
Reserved names:
| Variable | What it sets |
|---|---|
| *from | the envelope sender |
| *envid | the envelope identifier |
| *vmta | the sending address or pool |
| *jobid | the job |
| *parts | the set and order of parts |
| *schedule, *priority | delivery schedule and priority |
| *subaccountid, *custommessageid | SparkPost details |
| *to, *date | filled in automatically, cannot be overridden |
# the recipient gets its own sending address and job XDFN *vmta="mta4" *jobid="TravelAlerts"RCPT TO:<alice@example.com>
3 relations
Numbered merge partsA related mechanism: they work together. § 11.19.4.3
grep -rn 'allow-mailmerge\|always-allow-api-submission' /etc/pmta/
3 articles
◇Six ways to choose a stream and the order among themA message’s stream is set by a merge variable, an API call, a header, a pattern rule, a listener and a source default — the manual lists them by precedence.◇Warm-up built into the engineA warmed-up address hands the first N messages of the day for each receiver to its cold partner; the partner sends them itself and builds history.◇The sending address — what it is made ofA named set of everything that is a property of the address: which IP the message leaves from, how the node introduces itself, what it signs with and how fast it sends.