<signals-filter>
The usual export scope is set by streams — node, pool, sending address. This line offers a second way: selection by the sender’s domain from the message itself, regardless of which stream it went out through.
The rule consists of two parts: a domain pattern and a decision — enable-signals or disable-signals. When enabling, a subaccount and a tracking scope can be added to the decision.
Patterns are matched in order, and wildcards work: *.customer1.com covers subdomains, * everything else. The usual technique is to list the specific cases and put the general rule last.
The list is named, and it is attached to the scope by name: instead of enable-signals true you write enable-signals ListName.
🔴 Whatever matches no rule counts as disabled. The manual says so directly: when a list is attached, the scope defaults to false for everything that did not match.
🔎 Seeding has no such selection at all. The vendor notes that this may make the subaccounts of the two mechanisms diverge — and advises keeping them consistent.
🔎 The technique itself is useful and familiar: selection by the sender’s domain rather than by stream — the same thing our sending address selection list does. The difference is that there the rule chooses a stream, while here it decides the fate of the data about the message.
The order of rules matters, the general one goes last:
| Pattern | Decision | What it covers |
|---|---|---|
| marketing.customer1.com | enable-signals,subaccount=555 | the exact name |
| transact.customer1.com | disable-signals | an exception |
| *.customer1.com | enable-signals,subaccount=333 | the other subdomains |
| * | enable-signals,subaccount=222 | everything else |
The subaccount and tracking scope are set only when enabling.
# the last rule is mandatory, otherwise whatever does not match drops out silently <signals-filter ListOne> sender-or-from marketing.customer1.com enable-signals,subaccount=555 sender-or-from transact.customer1.com disable-signals sender-or-from *.customer1.com enable-signals,subaccount=333 sender-or-from * enable-signals,subaccount=222 </signals-filter> enable-signals ListOne
what people get wrong and how it ends2 mistakes▶
§ 11.1.6.1.1
§ 11.2.1
2 relations
grep -i "signals" /var/log/pmta/log | tail -20
3 articles
◇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.◇How the node selects a source and combines its settingsA connection falls under all source blocks whose addresses cover it, and they act merged — the narrow one overrides the wide one; named blocks are attached only by direct reference.◇Address lists — named and unnamedA list of addresses, domains, patterns or hashes; a named one is attached by directives such as suppression, an unnamed one lives inside an inbound mail processor.