Knowledge base

Job header

critical

job header
The link between a message and a campaign

The submitting side puts an x-job header with the campaign identifier into the message — the manual advises a separate one for each campaign. The node reads it only if the source is allowed process-x-job; a different header name is set with jobid-header. For mail merge the manual advises the *jobid variable.

A job brings four capabilities to life: the jobId field in delivery and bounce accounting records, the jobs section of the monitor and show jobs, and the pause job and resume job commands.

Without a job there is nothing to tie a message to a campaign: accounting keeps the sender, the recipient and the time, but not what the message was part of.

The main trap is setting the header without allowing it for the source. process-x-job is off by default: the header arrives in the message, but there will be no job in accounting or in the monitor.
What the Hub does. It does not set the header, and in the named login sources it writes process-x-job false: even if a platform adds x-job, the node will not read it, and that mail will have no jobs.
Recommended values

What a job gives:

Capability Where
the jobId field in accounting delivery and bounce records
jobs in the queue the monitor and show jobs
pausing and resuming a campaign pause job, resume job
The header, the source permission, the alternative header name and the four consequences come from the manual (§ 13.8, § 3.3.7.49–3.3.7.50); the *jobid variable is § 11.19.4.2. The table is ours.
Example configuration
<source 0/0>
    jobid-header x-custom-header
    process-x-job yes</source>
The manual’s example: the job becomes the value of the x-custom-header header instead of x-job.
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 node reads jobs:
grep -rn 'process-x-job\|jobid-header' /etc/pmta/
pmta show jobs
process-x-job false in the source that submission goes through means there will be no jobs from the header.
In the Hub
Cost of a mistake
reversible: harms only while it is set
Scenarios
Seeding and seed mailboxes · Sender isolation
Priority
critical