Knowledge base

Record type

type
The first letter of the line — accounting is parsed by it

A short code at the very beginning of the line: d — delivered, b — bounced, t — transient failure, and so on.

Always written: without it the line cannot be parsed at all. 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.

Any accounting analysis starts with it — all other fields make sense only paired with it.

The main trap is looking for the record type in the field settings. The field is always written, as the first column, and it can be neither turned off nor renamed: in a file where several record types meet, it is the only thing that tells the lines apart.
What the Hub does. It reads it — this is one of the fourteen fields the event normalizer parses. So the field must be included in the record, otherwise part of the telemetry will arrive empty.
Recommended values

Where the field exists:

Record type How it is written
d — delivery always written
b — bounce always written
t — temporary failure always written
tq — queue failure always written
r — reception always written
rb, rs — external report always written
f — complaint always written
The field and the rule “always written, cannot be changed” come from the manual (§ 12.2.1–12.2.7). The table is ours.
Example configuration
<acct-file /var/log/pmta/acct.csv>
    records d, b
    record-fields d rcpt, vmta</acct-file>
Even in such a short set, the first column of the line is the record type — d or b.
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
Count the lines of each type in the accounting files:
cut -d, -f1 /var/log/pmta/acct-*.csv | sort | uniq -c
The type lines are the file headers; the rest show how many records of each type there are.
In the Hub
Cost of a mistake
safe: a wrong value breaks nothing