<address-list>
The line takes not an address but its hash. The derivation rule is exact: the address is lowercased, hashed with SHA256, and the result is encoded as BASE64URL. During the check the engine does the same with the message’s address and compares the two strings.
There is no need to compute the hash by hand — a tool comes with the product: pmtahashedAddress on Linux, hashedAddress.exe on Windows. It also lowercases the address, so test@FOO.com and test@foo.com give the same hash.
Only whole addresses. No local parts, no domains, no patterns: pattern matching does not apply to hashes at all.
What it is all for. A suppression list can be stored, transmitted and backed up without containing a single readable address.
The value is a hash string obtained with the bundled tool. The choice between the open and hashed forms:
| Form | Flexibility | Who can read the list |
|---|---|---|
| address | address, local part, pattern | anyone with access to the file and the backup |
| hash | whole addresses only | nobody |
The practical consequence: a hashed list can be neither browsed nor checked by eye. All you can do is compute the hash of a specific address with the same tool and search for the string.
# the configuration file has not a single readable address <address-list foo> hashed-address iZ0zh6XFp1VdUdLwoLe1Djl_5IH9mlj6-zibfclOEfY~</address-list>
what people get wrong and how it ends2 mistakes▶
§ 3.3.5.2
§ 3.3.5.2
2 relations
pmtahashedAddress test@FOO.com
3 articles
◇Who is allowed to submit mail and for whom to accept itOut of the box, the node accepts submission only from the machine itself; two different questions — “who can send through us” and “for whose addresses we accept mail” — are answered by different directives.◇The group that grants management rightsMembership in the pmta group gives an unprivileged user the right to call the node’s commands and use submission.◇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.