What is DMARC?
DMARC (Domain-based Message Authentication, Reporting, and Conformance) is an email authentication protocol that protects your domain from being used in phishing and spoofing attacks. It works on top of two other protocols — SPF and DKIM — and adds a crucial missing piece: a policy that tells receiving mail servers what to do when an email fails authentication. Without DMARC, a failed SPF or DKIM check is just a signal. The receiving server decides on its own what to do — it might deliver the email, send it to spam, or reject it. With DMARC, you explicitly define the rules.Why does DMARC matter?
Anyone can send an email that appears to come from your domain. This is called spoofing, and it’s how most phishing attacks work. A spoofed email might look like it’s frombilling@acme.com, but it was actually sent by a malicious actor.
DMARC prevents this by:
- Authenticating emails — checking that the email passes SPF or DKIM
- Enforcing a policy — telling receiving servers to reject or quarantine emails that fail
- Sending reports — giving you visibility into who is sending emails using your domain
How DMARC works
When a receiving mail server gets an email from your domain, it:- Checks if the email passes SPF (is the sending server authorized?)
- Checks if the email passes DKIM (is the signature valid?)
- Checks alignment — does the domain in the “From” header match the domain used in SPF/DKIM?
- Looks up your DMARC policy to decide what to do if the checks fail
Implementing DMARC
Step 1: Start with monitoring
Begin with ap=none policy. This tells receiving servers to deliver all emails regardless of authentication results, but send you reports so you can see what’s happening.
Add this TXT record to your DNS:
| Field | Value |
|---|---|
| Type | TXT |
| Name | _dmarc.yourdomain.com |
| Value | v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com; |
| TTL | 3600 |
rua tag specifies where aggregate reports are sent. These reports show which servers are sending emails using your domain and whether they pass authentication.
Stay on
p=none for at least 2–4 weeks. Review the reports to make sure all your legitimate email sources (SendKit, your own servers, marketing tools, etc.) are passing SPF and DKIM.Step 2: Move to quarantine
Once you’re confident that all legitimate emails pass authentication, tighten the policy top=quarantine. Emails that fail DMARC will be sent to the recipient’s spam folder.
pct tag to roll this out gradually. For example, pct=20 applies the quarantine policy to only 20% of failing emails:
Step 3: Enforce with reject
The final step isp=reject. Emails that fail DMARC are blocked entirely — they never reach the recipient.
DMARC record parameters
| Parameter | Required | Description |
|---|---|---|
v | Yes | Version. Always DMARC1 |
p | Yes | Policy for the domain: none, quarantine, or reject |
sp | No | Policy for subdomains. Defaults to the p value if not set |
pct | No | Percentage of failing emails to apply the policy to (1–100). Default: 100 |
rua | No | Email address to receive aggregate reports (e.g., mailto:dmarc@yourdomain.com) |
ruf | No | Email address to receive forensic (failure) reports |
adkim | No | DKIM alignment mode: r (relaxed, default) or s (strict) |
aspf | No | SPF alignment mode: r (relaxed, default) or s (strict) |
Verifying your DMARC record
After adding the DNS record, you can verify it’s working by checking the email headers of a test email. Look for theAuthentication-Results header:
dmarc=pass result confirms that your DMARC record is active and the email passed all checks.
FAQ
Is DMARC required to send emails with SendKit?
Is DMARC required to send emails with SendKit?
No. DMARC is optional for domain verification. However, we strongly recommend it. Without DMARC, anyone can spoof your domain, and some email providers may treat your emails with less trust.
Can I use DMARC without rua reports?
Can I use DMARC without rua reports?
Yes. The
rua tag is optional. But without reports, you won’t have visibility into who is sending emails using your domain, making it harder to detect spoofing or misconfigured services.What's the difference between relaxed and strict alignment?
What's the difference between relaxed and strict alignment?
Relaxed alignment (default) allows subdomains to pass. For example, an email from
mail.acme.com passes DKIM alignment for acme.com. Strict alignment requires an exact match — mail.acme.com would fail alignment for acme.com. Relaxed is recommended for most setups.How long should I stay on p=none?
How long should I stay on p=none?
At least 2–4 weeks. This gives you enough data to identify all legitimate email sources for your domain. If you have many services sending email on your behalf, you may need longer.

