How to set up DMARC for your domain and why it fails
In your domain's DNS panel, create a TXT record named _dmarc with the value v=DMARC1; p=none; to start monitoring. DMARC only passes if SPF or DKIM passes AND is aligned with the From domain. If you send through a shared domain and your DMARC is p=reject, lower it to p=none or set up your own sending domain.
Updated on
Before you start
- You need access to your domain's DNS panel (at the registrar or your web host).
- Ideally SPF and DKIM are already set up: DMARC builds on them (see the article on adding a sending domain).
- Always use a domain you own as the sender. Addresses at @gmail.com, @hotmail.com or @yahoo.com have p=reject DMARC at their own providers, and emails sent through an external platform get rejected.
Where to find it
Your domain's DNS panel › Add record › type TXT › name _dmarc
Step by step
Create the DMARC record (monitoring mode)
- Log in to your domain's DNS panel.
- Create a new TXT record.
- In the name (host) field, enter
_dmarc. - In the value field, enter
v=DMARC1; p=none;. To receive reports, add an address:v=DMARC1; p=none; rua=mailto:postmaster@yourdomain.com;. - Save. Propagation usually takes 15 minutes to 1 hour, but can take up to 48 hours.
- Send a test email to a Gmail account, open it with Show original and confirm DMARC shows PASS.
Raise the policy safely
- Keep
p=nonefor a while and review the reports: every legitimate source (CRM, company mailbox, billing…) must pass. - Once everything passes, switch to
p=quarantine; pct=25;and gradually raise the percentage. - When you are fully confident, switch to
p=reject. This is the recommended final policy: fake emails using your domain are no longer delivered.
Fix the "p=reject" warning when sending
- This warning appears when you send through the Elooo System email service's shared domain (no sending domain of your own) and the From domain has DMARC set to
p=rejectorp=quarantine. Providers reject the message and bounces spike. - Permanent fix: set up your own sending domain (related article) and send from it.
- Temporary fix: in DNS, change the
_dmarcrecord top=none. This weakens protection against spoofing; go back top=rejectas soon as your own domain is active.
Tips
- The three policies:
p=noneonly monitors;p=quarantinesends failing emails to spam;p=rejectblocks them. - Gmail and Yahoo require DKIM and DMARC from bulk senders (5,000+ emails per day). Even below that, DMARC improves deliverability.
- If you are unsure how to build the record, free DMARC generators online will write the text for you.
Common problems
- I have SPF and DKIM and DMARC fails → Alignment is missing: the domain authenticated by SPF (return-path) or DKIM (
d=) must match the From domain. Make sure the sender uses the same domain you verified. - The record seems to be ignored → The value must start with
v=DMARC1. Without it, or with a typo, the whole record is ignored. - The p=reject warning appears when sending → You are sending through the shared domain with a strict policy on your domain. Set up your own sending domain or temporarily lower to
p=none. - I use my personal Gmail as sender and everything is rejected → Free providers enforce
p=reject. Always send from a domain you own.
Frequently asked questions
Do I need DMARC to be able to send?
It is not required to send, and it is not required when you use the Elooo System email service's shared domain. But it improves deliverability and protects your domain from spoofing.
What's the difference between quarantine and reject?
With quarantine, a failing email goes to spam and can still be found; with reject it is blocked and never arrives.
Was this helpful?
Thanks for your feedback.
