Knowledge base

Temporary failure

t
The attempt failed, but the message stays

One delivery attempt failed, and the recipient stays in the queue until the next one.

The record type letter is t. It comes first in the line, and that is how the parser tells one type from another.

There can be several records per message — one per attempt. You cannot count messages by them: you will get the number of attempts.

After such a record the recipient usually moves to the waiting area and is unavailable for sending until the deadline.

The main trap is counting things from the wrong records. One record type answers one question, and a substitution gives a plausible wrong number: attempts instead of messages, queues instead of recipients, the day a report was received instead of the day of sending.
What the Hub does. It reads them — the records arrive as a stream through a webhook, and all the analytics is built on them: volumes, deliverability, bounces by category.
Recommended values

Which question this record answers:

Question Is it this record
the attempt failed, but the message stays yes
how many messages in total only together with the other types
why it happened look at the reply text, not at the record type

Record types are enabled and disabled in the accounting block. A disabled type does not disappear from a report — it disappears from the data, and the absence of events becomes indistinguishable from there genuinely being none.

The separation of questions is ours. From the manual here are the condition under which the record appears and its letter.
Example configuration
# the first letter of the line is the record type
t,2019-02-08 21:53:41+0000,...
Parsing accounting starts with this letter: all the other columns make sense only in combination with it.
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
How many records of each type arrived:
grep -c "^t," /var/log/pmta/acct-*.csv
cut -d, -f1 /var/log/pmta/acct-*.csv | sort | uniq -c
Zero while sending is going on means one of two things: there are no events of this kind, or the record type is disabled in the accounting block. The second command helps tell them apart — it prints a summary across all types.
In the Hub
Cost of a mistake
safe: a wrong value breaks nothing
Scenarios
Troubleshoot deliverability · Tune the pace for a provider