DKIM
cPanel DKIM fails when DNS is off-server so cPanel can't publish the key. Copy the DKIM TXT record into your authoritative DNS provider and revalidate.
Updated Jul 1, 2026
The short answer
"cPanel DKIM not working" is not an SMTP error code; it's a symptom in cPanel's Email Deliverability tool meaning your domain's DKIM signature isn't validating. The usual cause is that DNS is hosted off-server (a registrar or Cloudflare), so cPanel's "Repair" can't publish the key. Fix it by copying the suggested DKIM TXT record from cPanel into your authoritative DNS provider, then revalidate.
"cPanel DKIM not working" is not a standard SMTP reply code (RFC 5321) or enhanced status code (RFC 3463). It's a symptom reported by cPanel's Email Deliverability interface — typically the "Problems Exist" / "Invalid" state next to DKIM, or recipients showing dkim=fail/dkim=none in their message headers. It means the DKIM signature for your domain either isn't being applied to outbound mail or doesn't match the public key published in DNS.
There are four common, distinct root causes:
default._domainkey.<domain> TXT record doesn't match the key cPanel is signing with — often left over from a previous host or a key regeneration.mod_php) handler can run as a shared system user rather than the domain's account owner, which breaks the sender attribution Exim needs to pick the right DKIM key. Fixes include enabling mod_ruid2 or MPM ITK, or the relevant options in WHM's Exim Configuration Manager.Work through these in order:
1. Read the exact status in cPanel. In cPanel go to Email > Email Deliverability, find the domain, and click Manage. The DKIM row shows the current published record and the suggested record. If they differ, that mismatch is your problem.
2. If your server is authoritative, click Repair. cPanel writes the record into the local DNS zone (allow up to ~5 minutes). If Repair succeeds, you're done — skip to step 5.
3. If DNS is external, publish the record manually. When DNS is hosted off-server, Repair will not work — this is expected, not a bug to fight. In Email Deliverability, copy the suggested DKIM value. cPanel offers it in two formats:
Add it at your DNS provider as a TXT record:
default._domainkey (cPanel's default selector is default)TXTv=DKIM1; k=rsa; p=MIIBIjANBgkq... (the full key cPanel shows)4. Verify the TXT record resolves and isn't split wrong. From a terminal:
dig +short TXT default._domainkey.example.com
The returned value must concatenate to a single valid key with v=DKIM1 and a non-empty p=. An empty p= means the key is revoked (RFC 6376 §3.6.1). Confirm there is exactly one DKIM TXT record for that selector.
5. Confirm cPanel is actually signing. Send a test message to a Gmail account, open the message, and check Show original — you want DKIM: 'PASS' with domain example.com. If headers show no DKIM-Signature at all (not a failure, just absent), the issue is signing, not DNS: check that mail isn't sent via the DSO PHP handler without mod_ruid2 or MPM ITK, and validate your record with a third-party inspector such as dmarcian's DKIM Inspector.
6. Allow for propagation. DNS changes propagate per the record TTL — usually minutes to a few hours. Re-run the validation after the TTL window before assuming it's still broken.
If you send through an email API or relay (rather than cPanel's local Exim), DKIM must be configured at that provider instead — the cPanel record only signs mail that leaves through the cPanel server.
References
FAQ
Repair only works when your cPanel server is the authoritative nameserver for the domain. If your DNS is hosted at a registrar, Cloudflare, or another provider, cPanel can generate the correct record but cannot publish it. Copy the suggested DKIM TXT value from Email Deliverability and add it manually at your DNS provider instead.
One API, every provider
Courier connects to your email, SMS, and push providers, handles retries and failover, and surfaces delivery errors in plain language.
Reply-code definitions per RFC 6376 §3.6.1. Last reviewed Jul 1, 2026. Courier is not affiliated with third-party providers; error behavior may vary by implementation.
© 2026 Courier. All rights reserved.