Deliverability · Practical guide
Set up DKIM and verify the signature actually being used
Publish the provider-generated selector record, enable signing and inspect a new message to confirm the active key and domain.
Reviewed · Examples are illustrative
Who this helps: Operators diagnosing authentication, receiving-policy and delivery failures.
Define the decision
A DKIM record in DNS is only one part of the setup. The sending service must use the matching private key and place a signature on the message. A scanner can find a record even when the live sender uses another selector.
Work through the procedure
- Generate or retrieve DKIM settings from the sending service you actually use.
- Publish its exact TXT or CNAME record at the specified selector name.
- Query the resulting public DNS and enable signing through the provider.
- Send a fresh controlled message and compare its s= and d= values with the configured record.
Worked example
The following is a synthetic example for this procedure, not a customer result or performance benchmark.
Published name: launch._domainkey.example.com
Received signature: s=legacy; d=example.com
Diagnosis: the test used the legacy selector
Next step: verify provider activation, not another edit to the launch recordRead the result
Treat a passing received signature as stronger evidence than a dashboard’s record-found indicator. When multiple services sign, test each service independently; enabling DKIM for one does not configure the others.
Check before moving on
- Keep private keys out of DNS and support tickets.
- Check that the DNS editor did not append the domain twice.
Limits and next action
Use the provider’s supported key management process. Do not manufacture a public key or copy sample cryptographic material into production.
Source references
Worked examples are illustrative. Editorial procedures are suggested methods, not measured performance claims or promises of additional product features.
Related guides
- DKIM: signed message evidence and the signing domain →
- DKIM selector not found: query the name in the actual signature →