Knowledge base

Who submitted the message

srcMta
The submitting host’s name

The name of the host the message came from.

Written by default everywhere except delivery records: there it has to be named in record-fields. 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.

On a node with several submitting systems it is the only way to tell in accounting whose mailing it is.

The main trap is assuming the field is the same for all record types. For b, t, r and rb it is in the default set, for d it is not: the star in record-fields d will not give it, and in a shared file those lines keep the column empty.
What the Hub does. It does not read it — the event normalizer parses fourteen fields, and this one is not among them. The field is part of the default set, so it stays in the accounting file on the node and is available for manual investigation.
Recommended values

Where the field exists and whether the star includes it:

Record type In the star
d — delivery no
b — bounce yes
t — temporary failure yes
r — reception yes
rb, rs — external report 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.1, § 12.2.2, § 12.2.3, § 12.2.5, § 12.2.6); 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 d *, srcMta</acct-file>
For b, t, r and rb the field comes with the star; for d it is added explicitly.
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 whether the column is in the latest accounting file:
head -1 "$(ls -t /var/log/pmta/acct-*.csv | head -1)" | tr -d '\r' | tr ',' '\n' | grep -n '^srcMta$'
The line number in the output is the column number in the file; empty means the field is not selected for any record type in this file.
In the Hub
Cost of a mistake
safe: a wrong value breaks nothing