TrekMail TrekMail
Deliverability & DNS

DMARC Setup: Publish, Test, and Enforce Correctly

By Alexey Bulygin
DMARC Setup: Publish, Test, and Enforce Correctly

DMARC setup is one of those jobs that looks optional right up until your domain gets spoofed, your invoices land in spam, or Gmail starts flagging your mail. If you run email on your own domain, this is not extra credit. It is basic operating hygiene.

That matters whether you're running one mailbox or managing dozens of client domains. If you're still sorting out the bigger stack around business email, start with business email for small business. Then come back here and finish the DNS layer properly.

The good news: DMARC is not hard. The bad news: sloppy DMARC setup breaks mail fast, especially when SPF, DKIM, forwarding, and third-party senders are all in the mix. This guide shows you the record to publish first, how to read the tags, when to tighten policy, and how to avoid the mistakes that waste whole afternoons.

What DMARC setup actually does

DMARC setup publishes a TXT record at _dmarc.yourdomain.com that tells receiving servers how to handle messages that fail authentication. It works by checking whether SPF or DKIM passes and whether the authenticated domain aligns with the visible From domain.

DMARC does not replace SPF or DKIM. It sits on top of them. Per RFC 7489, a message can pass DMARC if either SPF or DKIM passes and is aligned with the domain in the From header. That alignment piece is where a lot of setups go sideways.

Google says the same thing in plainer language: messages must be authenticated by SPF or DKIM, and the authenticating domain must match the From domain. You can read that in Google's email sender guidelines.

If that sounds abstract, translate it like this: DMARC setup tells mailbox providers whether to trust mail claiming to be from your domain, and what to do when they should not trust it.

The DNS record you should publish first

The safest first DMARC setup is a monitoring policy. Publish p=none first, collect reports, find legitimate senders you forgot about, then move to enforcement. Starting with reject before you know your mail flow is how people break password resets, invoices, and contact forms.

Start with this record at host _dmarc:

v=DMARC1; p=none; rua=mailto:dmarc@example.com; adkim=s; aspf=s; pct=100

If strict alignment feels too aggressive for your environment, switch adkim=s and aspf=s to relaxed mode:

v=DMARC1; p=none; rua=mailto:dmarc@example.com; adkim=r; aspf=r; pct=100

For many teams, relaxed alignment is the practical starting point. It allows parent and subdomain relationships to align, which is common in real-world sending setups.

If you use TrekMail, your domain dashboard already checks whether DMARC exists and whether your core records are valid. The relevant docs are Required DNS Records, Adding a Domain, and Checking DNS Status. TrekMail’s docs currently show a default DMARC example with p=quarantine, but for a fresh DMARC setup on a live domain, monitoring first is still the safer operational move.

DMARC tags that matter

A good DMARC setup needs only a few tags at first. Most people overcomplicate it. Focus on policy, reporting, and alignment. Everything else is secondary until you’ve confirmed your real senders are passing.

TagWhat it doesPractical default
vProtocol versionDMARC1
pPolicy for the main domainnone first, then quarantine, then reject
ruaAggregate report mailboxA real inbox you monitor
adkimDKIM alignment moder or s
aspfSPF alignment moder or s
pctPercent of failing mail subject to policy100
spPolicy for subdomainsSet only if needed

Two points matter more than the rest. First, p controls enforcement. Second, rua gives you the feedback loop. Without reports, DMARC setup becomes guesswork.

The pct tag is sometimes misunderstood. RFC 7489 describes it as a way to roll out enforcement gradually. That can help on complex estates, but for small teams it often adds confusion. If you are not deliberately phasing policy, leave it at 100.

Step-by-step DMARC setup

The cleanest DMARC setup process is simple: verify SPF, verify DKIM, publish a monitoring record, review reports, then tighten policy. Do it in that order. Not the other way around.

  1. List every service that sends mail as your domain. That includes your mailbox host, CRM, billing tool, help desk, forms plugin, and marketing platform.
  2. Verify SPF for each sender. If a service sends on your behalf and is missing from SPF, add it to the single SPF record you already have.
  3. Verify DKIM is enabled for each sender that supports it. DKIM is what usually saves you during forwarding.
  4. Publish your first DMARC setup record with p=none.
  5. Wait and read aggregate reports for at least 2 to 4 weeks.
  6. Move to p=quarantine when legitimate mail is passing consistently.
  7. Move to p=reject only when you are confident you have full sender coverage.

Useful CLI checks:

dig TXT _dmarc.example.com +short

dig TXT example.com +short

dig TXT dkim._domainkey.example.com +short

A healthy base setup often looks like this:

; SPF
example.com.  IN TXT  "v=spf1 include:spf.trekmail.net include:_spf.google.com -all"

; DKIM
dkim._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkq..."

; DMARC
_dmarc.example.com. IN TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.com; adkim=r; aspf=r; pct=100"

If you are setting up domain mail from scratch, create email with domain is a useful companion read. If you are moving from another host, TrekMail’s IMAP migration overview matters because migration changes where mail lives, while DMARC setup controls whether your outbound mail is trusted.

How DMARC passes or fails

DMARC setup succeeds when SPF or DKIM passes and the passing identifier aligns with the From domain. It fails when both mechanisms fail, or when one passes technically but is not aligned. That distinction trips people up constantly.

Here are the cases that matter:

SPFDKIMAligned?DMARC result
PassFailYesPass
FailPassYesPass
PassPassNoFail
FailFailNoFail

Forwarding is the classic example. SPF often breaks when a message is forwarded because the forwarding server is not in your SPF record. DKIM usually survives. That is why a solid DKIM configuration matters so much in any DMARC setup.

You send from billing@example.com. A customer forwards that mail to Gmail. SPF can fail because the forwarding server changed the path. If DKIM still verifies with d=example.com, DMARC passes anyway.

This is also why blindly chasing every SPF failure is a bad habit. TrekMail’s spam troubleshooting doc makes the same point: SPF fail plus DKIM pass is often normal on forwarded mail.

If forwarding is part of your workflow, read email forwarding as well. It explains where forwarding helps, where it breaks, and why authentication has to be designed around that reality.

Moving from none to quarantine to reject

Strong DMARC setup is progressive, not reckless. Start with visibility, then quarantine, then reject. Each step raises protection. Each step also raises the cost of hidden misconfigurations.

Use this policy ladder:

  1. p=none: Monitoring mode. No enforcement. Best for new DMARC setup.
  2. p=quarantine: Failing mail should go to spam or junk.
  3. p=reject: Failing mail should be refused at SMTP time.

Example progression:

; Phase 1
v=DMARC1; p=none; rua=mailto:dmarc@example.com; adkim=r; aspf=r; pct=100

; Phase 2
v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com; adkim=r; aspf=r; pct=100

; Phase 3
v=DMARC1; p=reject; rua=mailto:dmarc@example.com; adkim=r; aspf=r; pct=100

If you send from subdomains differently than from the root domain, add sp=. RFC 7489 states that the main policy applies to subdomains unless you explicitly override it with sp. That matters for agencies, MSPs, and anyone segmenting mail by subdomain.

Common DMARC setup mistakes

Most DMARC setup failures are not DMARC problems. They are SPF gaps, broken DKIM, wrong DNS hostnames, or using the wrong From domain in third-party tools. Fix the actual cause, not the symptom.

MistakeWhat happensFix
Publishing DMARC before DKIMForwarded mail failsTurn on DKIM first
Using two SPF recordsSPF returns PermErrorMerge into one SPF record
Wrong host for DMARCRecord is ignoredPublish at _dmarc, not root
Reject too earlyLegitimate mail gets bouncedStart with p=none
Ignoring alignmentSPF or DKIM passes but DMARC failsMatch authenticated domain to From domain
No report mailboxNo visibilityAdd a working rua address

Another common mess is alias sending through a provider that signs with its own domain instead of yours. In that case, the mail may pass DKIM technically but still fail DMARC because it is not aligned. If you are deciding between aliases and real mailboxes, read domain email alias vs mailbox.

On TrekMail, DNS conflicts are easier to catch because the platform validates the exact records required for domain activation. If you see a red or yellow status, check the DNS health screen instead of guessing.

TrekMail: old way vs new way

DMARC setup is harder when your stack is split across cheap hosting, random forwarding rules, and three different SMTP providers. TrekMail reduces that surface area by keeping domains, mailboxes, DNS checks, forwarding, and migration in one place.

Old WayNew Way with TrekMail
Per-user billing across one-domain toolsFlat-rate multi-domain email hosting
Storage fragmented by mailboxPooled storage by plan
Manual DNS guessworkBuilt-in SPF/DKIM/DMARC checks and wizard
Messy migrations with downtimeServer-side IMAP migration
Forwarding that breaks auth and disappears into support ticketsForwarding tools built for standards-first email ops

That is useful for solo operators, but it is even more useful for agencies. One client domain is annoying. Fifty is margin damage.

TrekMail starts at $3.50/month on Starter. The Nano plan stays free with no card and supports up to 10 domains with BYO SMTP. Paid plans include managed SMTP, and the 14-day free trial for those paid plans requires a credit card. If you want the plan breakdown, use TrekMail pricing.

Final DMARC setup checklist

A complete DMARC setup means more than publishing one TXT record. You need aligned SPF or DKIM, report visibility, and a controlled move to enforcement. Done right, it reduces spoofing risk and improves trust in your legitimate mail.

  1. Confirm every sender that uses your domain.
  2. Keep one SPF record only.
  3. Enable DKIM everywhere possible.
  4. Publish a monitoring DMARC setup record.
  5. Review aggregate reports for 2 to 4 weeks.
  6. Move to quarantine.
  7. Move to reject when the data is clean.

That is the whole job. Not glamorous. Very necessary.

If you want a cleaner operational setup while you do it, TrekMail gives you flat-rate multi-domain hosting, pooled storage, built-in IMAP migration, and DNS validation without the usual seat-based tax. Start free at trekmail.net. If you already know you need managed sending, go straight to pricing.

Good DMARC setup keeps fake mail out and legitimate mail moving. That is the point. Everything else is noise.

Share this article

We use cookies for essential functionality. No ads, no ad tracking.

or
or

Reset email sent

If an account exists for this email, we've sent password reset instructions.

By continuing, you agree to TrekMail's Terms and Privacy Policy.