<virtual-mta>
The line names lists separated by commas, as in a source. One thing changes, and it is the main one: there is no choice between a refusal at submission and a bounced message here. The message is accepted, queued and bounced with a 5.7.1 (suppressed) record, whose text contains the list name.
Why. The sending address is chosen after the message is received — at submission the node does not yet know which stream it will go through. There is simply nowhere to check the list before that choice.
Hence the scope of use. What belongs here is what relates to the address, not the sender: recipients who must not be written to from this particular address. General suppression is better hung on the source — there it turns into a refusal.
This is an independent, second check. A list in the source and a list here do not add up and do not replace each other: either can trigger.
The value is list names separated by commas, as in a source. The difference is where to hang what:
| What we suppress | Where to hang it | Why |
|---|---|---|
| the general blocklist | <source> | there it is a refusal at submission |
| recipients who must not get mail from this address | here | tied to the address, not to the sender |
| the same for a group of addresses | <virtual-mta-pool> | every member will get it |
# recipients who must not be written to from this particular address <virtual-mta shop-example-com> smtp-source-host 203.0.113.10 shop.example.com suppression-lists no-shop-mail</virtual-mta>
what people get wrong and how it ends2 mistakes▶
§ 11.15.2
our experience
3 relations
pmtaacctfind --output csv[rcpt,vmta,dsnDiag] /var/log/pmta/acct-*.csv
3 articles
◇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.◇Configuration through the API and the file do not reconcileObjects created through the configuration interface cannot be edited in the file: two sources of truth about the configuration do not reconcile.◇The bounce category in accounting — configurable, not vendor-fixedThe bounceCat string in every accounting record comes from a pattern list that can be extended with your own rules and your own category names.