<feedback-loop-processor>
The processor parses incoming messages and recognizes complaints among them. The fate of what it did not recognize is decided by two lines, and this one answers “forward it to a live person.” The line is repeatable: there can be several addresses.
🔴 It is not enough on its own. The manual says it directly: with forwarding set, deliver-unmatched-email must be true, otherwise the message is discarded before it reaches forwarding. The two lines work only as a pair.
Why it is needed. The processor catches messages by an address list but recognizes only what looks like a spam complaint. Everything else arriving at the same address — replies from people, non-standard reports, messages from services — is garbage to it. Without forwarding this garbage disappears silently, and there is no way to learn it was there.
There is no default: if it is not set, no forwarding happens.
In our configuration the processor catches fbl@fbl.<domain> — the address we register with mailbox providers in their feedback programs.
🔴 We have deliver-unmatched-email no, that is, everything unrecognized is discarded. For feedback-loop-processor this means that messages arriving at its addresses and not looking like a spam complaint disappear without a trace.
It works only as a pair, and the pair is mandatory:
| What | Value |
|---|---|
| this line | the address of a live mailbox |
| deliver-unmatched-email | must be true |
The mailbox must be real and read: the point of the line is for someone to see what arrived.
# the two lines work only together <feedback-loop-processor> deliver-unmatched-email true forward-unmatched-to postmaster@example.com <address-list> address /^fbl@fbl/ </address-list> </feedback-loop-processor>
what people get wrong and how it ends2 mistakes▶
§ 3.3.4.1
our experience
2 relations
grep -i "forward\|unmatched" /var/log/pmta/log | tail -20
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.◇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.◇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.