๐ŸŸข Network Status| First month from $2.00 โ€” fully managed | Contact Support
Skip to content
Need help? Real engineers available 24/7. Average response under 15 minutes. Open a support ticket โ†’

SPF, DKIM & DMARC via cPanel Email Deliverability โ€‹

cPanel includes a built-in Email Deliverability tool that generates and installs SPF, DKIM, and DMARC records for your hosted domains automatically. This guide walks through each record, what it does, and how to set it up correctly.

Why these records matter โ€‹

Without SPF, DKIM, and DMARC, email from your domain is far more likely to land in spam โ€” or be rejected outright by modern mail providers like Gmail, Outlook, and Yahoo. These three records work together:

RecordWhat it does
SPFLists which mail servers are authorized to send email for your domain
DKIMAdds a cryptographic signature to outgoing mail so receivers can verify it wasn't tampered with
DMARCTells receiving servers what to do when SPF or DKIM fails, and where to send failure reports

All three are required for reliable inbox delivery in 2024 and beyond. Gmail and Yahoo now enforce DMARC as a condition of acceptance for bulk senders.

Accessing Email Deliverability โ€‹

  1. Log into cPanel at https://YOUR_SERVER_IP:2083.
  2. Scroll to the Email section and click Email Deliverability.
  3. cPanel scans all domains on the account and shows their current deliverability status โ€” green checkmarks for records that are correctly configured, warnings for missing or misconfigured records.

Understanding the status indicators โ€‹

Each domain shows one of three states:

  • Valid (green) โ€” the record exists and matches what cPanel expects
  • Invalid (orange) โ€” the record exists but has a problem
  • Missing (red) โ€” the record doesn't exist at all

Click Manage next to any domain to see the full detail and fix issues.

Setting up SPF โ€‹

SPF (Sender Policy Framework) is a TXT record on your domain that lists which IP addresses and mail servers are allowed to send email on its behalf.

What cPanel generates โ€‹

cPanel creates an SPF record that includes:

  • Your server's IP address
  • The MailChannels relay (which handles all outbound mail on RemarkableCloud servers)
  • Common mechanisms for mail sent through cPanel itself

A typical generated SPF record looks like:

v=spf1 +a +mx +ip4:YOUR_SERVER_IP include:mailchannels.net ~all

Installing SPF via Email Deliverability โ€‹

  1. In Email Deliverability, click Manage next to your domain.
  2. Find the SPF section. If it shows as Invalid or Missing, you'll see a suggested record below the current value.
  3. Click Install the suggested record. cPanel writes the record to your DNS zone automatically.
  4. The status updates to Valid within a few seconds.
โ„น
DNS managed externally?
If your domain's DNS is managed at Cloudflare, your registrar, or another provider โ€” not on this server โ€” cPanel cannot install the record automatically. Copy the suggested record value and add it manually as a TXT record at your DNS provider.

SPF for MailChannels (RemarkableCloud specific) โ€‹

RemarkableCloud routes all outbound mail through MailChannels. If cPanel's suggested SPF record does not already include include:mailchannels.net, add it manually. The final record should look like:

v=spf1 +a +mx +ip4:YOUR_SERVER_IP include:mailchannels.net ~all

The ~all at the end means emails from unauthorized sources are soft-failed (delivered to spam rather than rejected). Once you're confident your SPF is complete, you can change it to -all for a hard fail.

Only one SPF record per domain โ€‹

A domain can only have one SPF record. If you already have an SPF record and need to add MailChannels, edit the existing record โ€” do not add a second one. Multiple SPF records cause SPF to fail entirely.

If you use external services like Google Workspace or Mailchimp for some email, add their includes to the same record:

v=spf1 +a +mx +ip4:YOUR_SERVER_IP include:mailchannels.net include:_spf.google.com ~all

Setting up DKIM โ€‹

DKIM (DomainKeys Identified Mail) works by generating a public/private key pair. Your server signs every outgoing email with the private key. Receiving servers look up the public key in your DNS and verify the signature. If it matches, the email is proven to be genuine and unaltered.

Generating and installing DKIM โ€‹

  1. In Email Deliverability, click Manage next to your domain.
  2. Find the DKIM section.
  3. If DKIM is not yet set up, click Enable or Install the suggested record. cPanel generates a 2048-bit RSA key pair, stores the private key on the server, and installs the public key as a TXT record in your DNS zone.
  4. The DKIM record appears under the name default._domainkey.yourdomain.com and looks like: ``` v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBA...very long key... ```
  5. Status updates to Valid once installed.
โœ“
2048-bit keys
cPanel generates 2048-bit DKIM keys by default. This is the current recommended minimum. Some older setups use 1024-bit keys โ€” if you see a 1024-bit key in use, regenerate it. Go to Email Deliverability โ†’ Manage โ†’ DKIM โ†’ Regenerate.

If DNS is managed externally โ€‹

cPanel shows the full DKIM TXT record value in the Manage screen. Copy the entire value (it's long) and create a TXT record at your DNS provider:

  • Name: default._domainkey (or default._domainkey.yourdomain.com depending on your provider)
  • Type: TXT
  • Value: the full string starting with v=DKIM1; k=rsa; p=...

Setting up DMARC โ€‹

DMARC (Domain-based Message Authentication, Reporting & Conformance) builds on SPF and DKIM. It tells receiving mail servers what to do when a message fails both checks โ€” and optionally sends you reports about what's happening.

cPanel's DMARC record โ€‹

cPanel's Email Deliverability tool can suggest a basic DMARC record. However, DMARC policy is a deliberate decision โ€” you should understand what you're setting before installing it.

A DMARC record is a TXT record at _dmarc.yourdomain.com:

v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com

DMARC policy values โ€‹

PolicyWhat happens to failing mailWhen to use
p=noneDelivered normally โ€” DMARC only monitorsStart here
p=quarantineGoes to the spam folderAfter monitoring for 2โ€“4 weeks
p=rejectRejected outright, never deliveredOnce you're confident everything is correct
  1. Start with p=none and add a reporting address. This lets you monitor without affecting delivery.
  2. Wait 2โ€“4 weeks and review the DMARC reports (delivered to the rua address). Look for legitimate mail sources that are failing SPF or DKIM โ€” fix those first.
  3. Move to p=quarantine once you're confident all legitimate senders pass. Failing mail goes to spam instead of inbox.
  4. Move to p=reject once no legitimate mail is failing. This is the strongest protection and prevents any spoofed mail from reaching recipients.
โš 
Do not start with p=reject
If you jump straight to p=reject and your SPF or DKIM isn't perfectly configured, legitimate mail from your domain gets rejected. Always start with p=none and monitor first.

Installing DMARC via Email Deliverability โ€‹

  1. In Email Deliverability โ†’ Manage โ†’ find the DMARC section.
  2. Click Install the suggested record to add cPanel's default DMARC record, or click Customize to set your own policy and reporting address.
  3. Set the rua tag to an email address you actually check โ€” DMARC aggregate reports are sent there. Create a dedicated address like dmarc@yourdomain.com for this.
  4. Save. The record is added to your DNS zone as a TXT record at _dmarc.yourdomain.com.

Reading DMARC reports โ€‹

DMARC aggregate reports (sent to your rua address) are XML files showing:

  • Which IPs sent mail claiming to be from your domain
  • Whether SPF and DKIM passed or failed for each source
  • How many messages were sent from each source

The raw XML is hard to read. Use a free tool like dmarcian.com or MXToolbox DMARC Analyzer to parse and visualize the reports.

Verifying everything is working โ€‹

In cPanel Email Deliverability โ€‹

Go back to Email โ†’ Email Deliverability โ€” all three records should show green Valid status.

Via command line โ€‹

bash
# Check SPF
dig yourdomain.com TXT +short | grep spf

# Check DKIM
dig default._domainkey.yourdomain.com TXT +short

# Check DMARC
dig _dmarc.yourdomain.com TXT +short

Send a test email โ€‹

Send an email from your domain to mail-tester.com โ€” it scores your setup out of 10 and flags any remaining issues. A fully configured domain with SPF, DKIM, and DMARC should score 9โ€“10/10.

You can also use Gmail โ€” send an email to a Gmail address, open it, click the three-dot menu โ†’ Show original โ†’ check the Authentication-Results header. You should see:

spf=pass
dkim=pass
dmarc=pass

Common issues โ€‹

SPF record already exists with different content Edit the existing record rather than adding a new one. Two SPF records cause both to be ignored. Merge all your include: statements into a single TXT record.

DKIM shows Valid in cPanel but fails externally DNS propagation delay. Wait up to 24 hours after installing. Verify the record is live with dig default._domainkey.yourdomain.com TXT.

DMARC reports show Google Workspace or Mailchimp failing Those services need to be authorized in your SPF record and have DKIM set up through their own settings. Add include:_spf.google.com to SPF for Google, and follow your email provider's DKIM setup guide for each additional service.

Email Deliverability shows domain as Unresolvable The domain's DNS zone doesn't exist on this server. Either the domain's nameservers don't point here, or the DNS zone wasn't created. Add the zone in WHM โ†’ DNS Functions โ†’ Add DNS Zone, or manage records at your external DNS provider.

โšก
Managed VPS ยท Cloud Cubes

Fully managed hosting starting at $2/mo

NVMe SSD, daily backups, 500% SLA, free migration. First month 75% off.

$2 / first month
View Plans โ†’

Next steps โ€‹

Managed hosting that actually manages.