critical
For this to work, three things must come together: the stream is declared in the configuration; the submission address falls into some <source> block; and that block has the permission to process the header. Without the third, the header is not an error but empty space — the engine simply does not read it.
The header is stripped before delivery — that is the default, and it is the right one: the line names the fleet’s internal names, and the recipient has no need to know them. It can be kept, but deliberately.
A pool name works too. The same header with a pool name instead of a stream name, and the message leaves through one of the members in rotation.
This is our main method. Hub warm-up names the address precisely with this header: it is precise down to the message, visible at submission and requires nothing from the configuration except one permission line.
The mechanism has no values of its own. Three neighboring source directives are configured: process-x-virtual-mta — whether to read the header, retain-x-virtual-mta — whether to keep it in the message, allow-empty-x-virtual-mta — what counts as an empty value. All three default to “no, do not,” and that is a sensible default set.
# the permission is granted to the source; the header in the message names the stream <virtual-mta shop-example-com> smtp-source-host 203.0.113.10 shop.example.com </virtual-mta> <source 10.0.0.0/24> process-x-virtual-mta yes always-allow-relaying yes </source>
what people get wrong and how it ends3 mistakes▶
§ 3.3.7.52
§ 9.4.1
§ 3.3.7.53
2 relations
pmta show vmtas
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.◇Reserved merge variable namesSome merge variable names are taken by the engine: you cannot give your own variables these names.◇A license for a fleet, not for a serverThe license is not bound to a server: it is installed on as many machines as the instance limit allows, and the nodes send volume statistics to the vendor every hour.