Inbound mail not submitted by its own platform — bounces that arrived by mail, complaints, service mail — the node can accept and do one of six things with: forward it to another server, write it to a file, discard it, pass it to a local program, parse it as a bounce or parse it as a complaint. The ways can be combined.
Accepting and delivering are different things. Each outcome leaves its own delivery accounting record, and a discarded message looks different in accounting than a rejection at reception.
Outcomes and their settings:
| Outcome | What sets it |
|---|---|
| forward | a domain route to another server |
| write to a file | the file delivery method |
| discard | the discard delivery method |
| pass to a program | the pipe delivery method |
| parse a bounce | <bounce-processor> |
| parse a complaint | <feedback-loop-processor> |
# accept service mail for your own domains and discard it without forwarding relay-address /^(dmarc|postmaster|abuse)@/ <bounce-processor> deliver-unmatched-email no <address-list> address /^(dmarc|postmaster|abuse)@/ </address-list> </bounce-processor>
3 relations
Hand a message to a webhook instead of a receiverA related mechanism: they work together. inference
ReceivedThe accounting record in which the result is visible. § 13.1
grep -hE '^(rb|f),' /var/log/pmta/acct*.csv | tail -5
3 articles
◇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.◇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.◇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.