Knowledge base

<feedback-loop-processor>

Parsing spam complaints
The only source of the complaint rate

Mailbox providers deliver their users’ complaints as separate messages — each through its own feedback loop program, to the address you registered with them. The block catches these messages and parses them, writing the result as an accounting record of type f.

🔴 There is no other source of the complaint rate. It is visible neither in the conversation nor in bounces: the receiver accepted the message, delivered it, and only then a person clicked “spam.” Without this block, the value by which mailbox providers judge you most strictly is invisible to you.

The condition for it to work is accepting the messages. The block decides the fate of already accepted ones; acceptance is allowed by relay-address, and an MX record pointing to the processor’s address brings the message to the node.

<email-patterns> can be nested in the block — patterns for receivers whose complaints do not arrive in the standard format.

Example configuration
# receiving, parsing and the address registered with mailbox providers
relay-address /^fbl@fbl\./
<feedback-loop-processor>    deliver-matched-email no
    deliver-unmatched-email no
    <address-list>
        address /^fbl@fbl\./
    </address-list>
</feedback-loop-processor>
An MX record for fbl.<domain> pointing to this node is also needed — otherwise complaints will not reach it.
yellow — — directive names, blue — blocks. They are highlighted the same way in the text of the card.