<source>
The line names one or more declared lists — separated by commas. A recipient on at least one of them does not make it to sending.
When exactly the sender finds out is decided by the neighboring line accept-invalid-recipients. With no the recipient is rejected right at the RCPT command — the submitting program gets a refusal and can react to it. With yes the message is accepted and later bounced with a 5.7.1 (delivery not authorized) record, whose text contains the name of the list that matched.
Attaching in the source is the better of the two points. The same line exists in <virtual-mta> and in a pool, but there is no choice there: the message is always accepted and bounced later. Here you can refuse honestly and immediately.
There can be several lists — all of them are checked, and a match in any one is enough.
The value is list names separated by commas. This is configured with a pair of lines, and the second matters more than the first:
| accept-invalid-recipients | What happens | Who it suits |
|---|---|---|
| no | refusal at the RCPT command, the sender knows right away | your own submission: the error is visible and can be fixed |
| yes | the message is accepted and bounced later | someone else’s submission that is not designed to handle an RCPT refusal |
What to put in the lists. Not the whole blocklist — the vendor advises no more than five hundred patterns — but complainers, spam traps and addresses whose suppression the client requires.
# two lines — one setting: the list and the refusal method <address-list suppression1> address /^complaints\+/ </address-list> <source 10.0.0.0/24> accept-invalid-recipients no suppression-lists suppression1,suppression2</source>
what people get wrong and how it ends3 mistakes▶
§ 11.15.1
§ 11.15
§ 3.3.7
2 relations
pmtaacctfind --output csv[rcpt,dsnStatus,dsnDiag] /var/log/pmta/acct-*.csv
3 articles
◇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.◇Parsing bounces that arrive as messagesBounce reports that arrive as messages are parsed by a separate processor — and it runs before the complaint processor.◇Two inbound report processors and what to do with themBounces by message and complaints are parsed by two identically structured blocks; each has its own address list and its own pair of decisions about the message’s fate.