<address-list>
A combination of two other lines: the list is kept in a file, and the entries in it are hashes. Each line of the file is the hash of a whole address, computed by the same rule: lowercase, SHA256, BASE64URL.
In practice this is the only usable form for someone else’s list. The client hands over a file of hashes, the node enforces it, and neither the configuration, nor the backup, nor a person with access to the server sees the addresses.
The limitations are the same as for hashed-address: only whole addresses, no patterns, domains or local parts.
The value is a file path. What to put in order alongside it:
| What | Why |
|---|---|
| the generation rule at whoever provides the file | lowercase, SHA256, BASE64URL — otherwise it will not match |
| a control address | used to check that the file works at all |
| file permissions | hashes are not addresses, but there is no reason to show them either |
Check only with the control address. Such a list cannot be read either by you or by anyone who gains access to the server — that is its whole point.
# a client's suppression list that we cannot read <address-list foo> hashed-address-file /etc/pmta/suppression-address-list-hashed.txt</address-list>
what people get wrong and how it ends2 mistakes▶
§ 3.3.5.4
§ 3.3.5.4
2 relations
grep -c "$(pmtahashedAddress control@example.com)" /etc/pmta/suppression-address-list-hashed.txt
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.