Our domain in someone else’s report
The domain named in the complaint report.
It is part of the default set. The field set is defined in the accounting block, and fields are worth adding deliberately: there are as many delivery records as delivered recipients, and every extra column is multiplied by that volume.
The only way to break complaints down by our domains when reports arrive at a shared address.
The main trap is listing fields without the star. The field is in the default set, but a list in record-fields without * replaces that set: the lines keep only the named fields, and this one disappears silently.
What the Hub does. The field arrives via the webhook in complaint records, but the event normalizer does not parse it: from a complaint the Hub takes the record type, recipient, sender, address and time. Complaint records are not written to the accounting file on the node.
Recommended values
Where the field exists and whether the star includes it:
| Record type |
In the star |
| f — complaint |
yes |
In a shared file an empty value comes in two kinds: the line has no data — or the field is not selected for its record type.
The record types with this field and the default set markers come from the manual (§ 12.2.7); a list without the star replaces the set — § 3.3.11.12. The table is ours.
Example configuration
<acct-file /var/log/pmta/acct.csv>
record-fields f *, !userAgent</acct-file>
The star with ! removes an unwanted field while reportedDomain stays; a list without the star would keep only what it names.
yellow — — directive names, blue — blocks. They are highlighted the same way in the text of the card.