How to Set Up SPF, DKIM and DMARC in cPanel
Ask us in a ticket to set up DKIM (or use Email Deliverability if your cPanel has it), and keep a single SPF record that lists every service that sends your mail. Then add one monitoring-only DMARC record (p=none) on your domain's DNS tab, read the reports, and tighten it later.
Applies to: cPanel Blue Arctic Shared Web Hosting (cPanel)
On this page
SPF, DKIM and DMARC are DNS records (settings for your domain that the internet reads). They prove your email really comes from you, so it’s less likely to land in spam or be faked.
- SPF lists the servers allowed to send email for your domain.
- DKIM adds a digital signature to each message so the receiver can check it wasn’t changed.
- DMARC tells receivers what to do when a message fails those checks, and where to send reports.
Note
These steps are for Shared Web Hosting. Records you add in cPanel work only if your domain uses Blue Arctic’s nameservers. If your DNS is with another company, add them there instead. If your mailboxes are at Google Workspace or Microsoft 365, also set up their DKIM; the cPanel steps still cover email your website sends.
Step 1: Set up DKIM
Open a support ticket and ask us to set up DKIM for your domain. If your DNS is elsewhere, ask for the record to add there.
If your cPanel has Email Deliverability (search for it), open it and click Manage next to your domain:
- If DKIM shows no problem, go to Step 2.
- If the domain has no DKIM key yet, click Generate Local DKIM Key.
- If the DKIM section shows a suggested record, go back to the table and click Repair next to your domain. Check its SPF suggestion too (see Step 2) before you confirm.
Never share your private DKIM key with anyone.
Step 2: Set up SPF
Warning
A domain must have only one SPF record, and every service that sends mail for you, such as Microsoft 365 or a newsletter tool, must be in it. Otherwise that service’s mail can land in spam.
Note
An SPF record can make no more than 10 lookups. Each include: counts, and so do the includes inside it. If many services send mail for you, open a support ticket before you add more.
- List each outside service that sends your mail, with the
include:value from its help pages, such asinclude:_spf.google.comfor Google Workspace. - In cPanel, click Websites in the sidebar, click Manage next to your domain, and open the DNS tab. If you see a Zone Editor icon instead, click it, then Manage next to your domain. Or type DNS in cPanel’s search box (Ctrl+K or Cmd+K).
- Take a screenshot of the TXT record that starts with
v=spf1. - If nothing is missing, go to Step 3.
- Edit the record and put each missing
include:just before the~allat the end. Don’t change~allto-all; that makes mail from any service you missed fail. Save it.
No v=spf1 record, or can’t find the DNS tab? Open a support ticket listing your services, and ask us to set up SPF.
Step 3: Add one DMARC record
Wait 2 days after Steps 1 and 2. DMARC needs working SPF and DKIM first.
- Create a mailbox at your own domain for reports, such as
dmarc@yourdomain.com. Reports can arrive daily, so use a separate mailbox. - Open your domain’s DNS tab, as in Step 2. If you can’t, send us the DMARC record you want in a support ticket.
- Look for a record named
_dmarc. If one already exists, don’t add another. With two, receivers ignore DMARC. - If there’s none, add a new TXT record.
- For its name, enter
_dmarc. - For its value, paste
v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.comand change the address to your real report mailbox. - Save the record.
p=none only asks receivers for reports; they take no action yet. Reports are technical files, so a DMARC report reader helps.
Step 4: Tighten DMARC later
Warning
A strict policy makes receivers junk or reject real email from any service missing from SPF or DKIM. If you can’t read the reports, it’s safe to stay on p=none.
- After at least a few weeks of reports showing all your real mail passing, edit the
_dmarcrecord on the DNS tab and changep=nonetop=quarantine. - Once quarantine has run without problems, change it to
p=reject.
Note
If a guide or a DMARC form offers a percentage (pct=) setting, leave it out. The current DMARC standard dropped it.
How to tell it worked
- The DNS tab shows one
v=spf1record and one_dmarcrecord. - Send an email from your domain address to a Gmail address. In Gmail, open it, click More next to Reply, then Show original. Near the top, SPF, DKIM and DMARC should each show a pass.
- DMARC reports start arriving within a day or two.
Troubleshooting
- You can’t find Email Deliverability or the DNS tab: open a support ticket.
- cPanel says it can’t change the records: your DNS is elsewhere. Add the suggested values there.
- A service says you have more than one SPF record: merge them into one TXT record that starts with
v=spf1and delete the others. - A checker says SPF has too many lookups: remove services you no longer use, or open a support ticket.
- Reverse DNS (PTR) shows a problem: you can’t change it in cPanel. Open a support ticket and mention it.
Still need help?
Open a support ticket from the Client Portal at my.bluearctic.com. Include your domain, a screenshot of your DNS records, the services that send your mail, the exact error text, and what you already tried. Never include a password.