Knowledge base

The complaint format of one large receiver

non-standard feedback handling
A report format of its own

Hotmail sends complaints not in standard ARF. For the engine to recognize them, choose the variant with an RFC attachment at Hotmail: the “original” variant lacks the headers the engine recognizes a complaint by.

The recipient is empty by default: Hotmail puts the complainer’s address in the X-HmXmrOriginalRecipient header. It is added to the accounting record as the header_X-HmXmrOriginalRecipient field or moved into rcpt with the map-header-to-field directive.

Your own header is the most reliable: many put a header with the encrypted recipient or the campaign identifier into the message — it comes back in every complaint.

The main trap is subscribing to the “original” variant. It lacks the headers the engine recognizes a complaint by: the messages arrive, but there are no f records.
What the Hub does. The node has a complaint processor, but in the f record the Hub writes * and header_feedback-id — without header_X-HmXmrOriginalRecipient, so the recipient of Hotmail complaints stays empty in accounting.
Recommended values

How to keep the recipient:

Way What it gives
header_X-HmXmrOriginalRecipient in record-fields a separate column with the recipient
map-header-to-field into rcpt the recipient in the common field, like other complaints
your own header in the message a link to the campaign with every receiver
The variant with an RFC attachment, the recipient header and the ways to keep it come from the manual (§ 13.7.1). The table is ours.
Example configuration
<acct-file /var/log/pmta/fbl.csv>
    records feedback-loop
    record-fields f *
    map-header-to-field fbl header_X-HmXmrOriginalRecipient rcpt</acct-file>
The manual’s example: the Hotmail header goes into the common rcpt field.
yellow — — directive names, blue — blocks. They are highlighted the same way in the text of the card.
Compatibility
PowerMTA 6.0
described in the manual of this version · platform: any
The vendor does not state the first version for every directive — there is no note here. The name also appears in the 5.0 edition of the manual.
How to check on the node
Check Hotmail complaints in accounting:
grep -i hotmail /var/log/pmta/fbl.csv | tail -5
An empty recipient column on these lines means the header is not kept.
In the Hub
Cost of a mistake
safe: a wrong value breaks nothing
Scenarios
Bounce classification