Skip to content

DMARC setup: a step-by-step guide for small businesses

DMARC setup for small businesses, step by step: from p=none to p=reject, and how to read the reports.

Ward Security Team

· 6 min read

You run a small business, and your email goes through Microsoft 365 or Google Workspace. You also send invoices from a billing tool, and a form on your website emails your team. Anyone else can send mail that claims to be from you. DMARC is the setting that tells receivers what to do with that mail.

This guide walks through the setup in plain English. You do not need to be a technical person to follow it, but you will need access to the place where your domain's DNS is managed.

The anatomy of a DMARC record for yourcompany.com. The value has three parts: the version, the policy, and the address for reports.

What is DMARC, and why does a small business need it?

DMARC (Domain-based Message Authentication, Reporting, and Conformance) is a TXT record in your domain's DNS. It tells receivers two things: what to do with mail that fails the checks for your domain, and where to send you reports. The current standard is defined in RFC 9989.

Why it matters to you: without DMARC, a criminal can send a fake invoice that shows your exact address. Your customer has no clear signal that the message is fake. In 2024, business email compromise, where a criminal takes over or fakes a business email to steal money, caused about $2.77 billion in reported losses in the United States, according to the FBI's Internet Crime Complaint Center (IC3).

What do you need before you start?

Gather these four things first. The setup is much smoother when they are ready.

  • Access to your DNS. This is the place where your domain is registered or managed, such as your domain registrar or your DNS host. Often it is the same company.
  • Admin access to your email provider. You need it to check how SPF and DKIM are set up.
  • A mailbox or a group for reports. Use one that someone reads, not a personal inbox that gets lost in the noise.
  • A list of every service that sends mail as your domain. You will need it for the next step.

How do I find every service that sends email as my domain?

Start with a list of every tool that sends email with your address. Ask your team, and check your mail provider's settings. Look at your invoicing and billing tools, your newsletter service, your scheduling tool, your website contact form, and any scanner or copier that emails documents.

Each one needs to pass SPF or DKIM for your domain before you turn DMARC on. If you skip this, legitimate mail can start failing as soon as you tighten the policy. Once the reports reach a mailbox, Ward's DMARC page can also show you which services send as your domain, and it can read reports you upload by hand.

How do I set up DMARC with Microsoft 365?

You add one TXT record named _dmarc, with the value v=DMARC1; p=none; and a reporting address. Microsoft 365 does not manage DMARC records for custom domains, so you create the record at the company that hosts your domain's DNS.

  1. Turn on SPF and DKIM first. In the Microsoft 365 admin center, look for the email authentication or DNS settings for your custom domain. Microsoft's guide explains how to set up SPF and DKIM for each domain.
  2. Find where your DNS is managed. If the domain's DNS is hosted with Microsoft 365, the domain settings in the admin center have a DNS records area. If it is not, go to the company that manages your DNS, such as your registrar or hosting provider.
  3. Add the TXT record. The name is _dmarc. The value is v=DMARC1; p=none; rua=mailto:dmarc@yourcompany.com. Use a reporting mailbox you check.
  4. Save, then wait for the reports. Receivers usually send them about once a day, so the first ones take a little while.

Microsoft's guide to setting up DMARC in Microsoft 365 has the full syntax and the rollout plan. If you send only from the onmicrosoft.com address, the guide explains that case separately.

How do I set up DMARC with Google Workspace?

The steps are the same, and the record goes at your DNS host. Google's help article recommends a few preparations first.

  1. Turn on SPF and DKIM first. Google's help says to let them run for a while before you move on. In the Google Admin console, look for the email authentication settings for your domain.
  2. Create a reporting mailbox or group. Choose one that someone reads.
  3. Check your third-party senders. Confirm that the outside services sending mail for your domain pass SPF and DKIM.
  4. Add the TXT record at your DNS host. The host or name is _dmarc.yourcompany.com. A typical value is v=DMARC1; p=none; rua=mailto:dmarc@yourcompany.com; pct=100.

Google's Set up DMARC article gives the full details. Where the screens differ from what you see, follow the article rather than an older screenshot.

How do I move from p=none to p=reject without blocking real email?

Stay at p=none until you know who sends as your domain. Then move in small steps, and keep reading the reports at each stage.

StagePolicyWhat you doWhen to move on
1p=nonePublish the record and read the reports. Fix each legitimate sender that fails.Your normal senders pass, and you have read the reports for several weeks.
2p=quarantineFailing mail is usually sent to spam. Raise the percentage in steps.Real mail is not landing in spam for the wrong reasons.
3p=rejectFailing mail should be refused. Keep reading the reports.Stay here, and check the reports regularly.

Microsoft's guide suggests raising the percentage in steps when you move to quarantine or reject, for example 10, then 25, 50, 75 and 100 percent. The percentage is the pct tag. It tells receivers how much failing mail the policy applies to.

The three DMARC stages: watch at p=none, move to p=quarantine and raise the percentage in steps, then move to p=reject.

How do I read a DMARC report?

Receivers send you aggregate reports, usually once a day. Each one is an XML file, often compressed, that summarizes the mail that claimed your domain. It lists the sending server's address, how many messages it sent, whether SPF and DKIM passed, and what the receiver did.

The key question for each row is simple: does the mail line up with your domain? A message passes DMARC if SPF or DKIM passes and the domain matches your From address. Here are three typical rows and what to do with each one.

Three example rows from a DMARC aggregate report for yourcompany.com, with what to do for each one.
Sender in the reportLines up with your domain?DMARCWhat to do
Your own mail, from Microsoft 365 or Google WorkspaceYesPassNothing. This is the normal case.
An invoicing tool that signs with its own domainNoFailTurn on DKIM for yourcompany.com in that tool, or add it to your SPF record.
An unknown serverNoFailNothing to fix. This is the mail your policy exists to stop.
Three example rows from a DMARC aggregate report for yourcompany.com. The sender names are descriptions, not real data.

Two patterns to watch. First, a row where SPF passes but the domain does not line up. That means a real service sends mail for you, but with its own domain in the envelope. Second, a sender you do not recognize, sending a lot of failing mail. The second one is what your policy is there to stop.

Forensic reports (the ruf tag) are optional. They are sent one by one for each failure and can be a lot of mail. Microsoft's guidance is to start with aggregate reports only, and to add forensic reports later if you need them.

What mistakes should I avoid?

  • Publishing two DMARC records. Keep one record that starts with v=DMARC1. Two records make receivers ignore both.
  • Forgetting a service. The invoicing tool you use once a month is the one that breaks when you reach p=reject.
  • Jumping to p=reject. A few weeks of reports is the minimum. Going straight to reject can block real customers.
  • Making subdomains weaker than the main domain. If the sp tag is more permissive than p, forged mail from a subdomain can still get through.
  • Ignoring the reports. A DMARC record that nobody reads gives you no protection and no warning.

What should I do after p=reject?

Keep reading the reports, at least once a month once things are stable. A new service, a new email tool or a changed configuration can break a legitimate sender, and the reports are how you catch it.

Also keep a short note of every tool that sends mail for your domain. When you add a new one, check that it passes SPF or DKIM before your policy starts refusing mail.

Once DMARC is in place, read Email spoofing: how to stop someone sending email as you to see what it protects against and what it does not. If the mail you send still lands in spam, why your emails go to spam covers the next checks.

Frequently asked questions

Is DMARC free to set up?
Publishing the record costs nothing beyond your existing DNS host. Reading the reports can be done by hand or with a tool.
Do I need SPF and DKIM before DMARC?
Yes. DMARC depends on them. Turn on SPF and DKIM for every service that sends mail as your domain before you publish DMARC.
What does rua mean in a DMARC record?
rua is the tag that tells receivers where to send your aggregate reports, which summarize who sent email as your domain.
How long should I stay at p=none?
Long enough to see your normal senders in the reports and fix the ones that fail. Read the reports for several weeks before you move on.
Can p=reject block my real email?
It can, if a service you use fails SPF and DKIM for your domain. That is why you start at p=none and fix the failures first.

Sources

  1. RFC 9989: Domain-Based Message Authentication, Reporting, and Conformance (DMARC)
  2. Microsoft Learn: Set up DMARC to validate email in Microsoft 365
  3. Google Workspace Help: Set up DMARC
  4. FBI Internet Crime Complaint Center (IC3), Internet Crime Report 2024
Written by Ward Security Team. We build Ward, a passive external security check for small businesses: it looks at your company from the outside, the way an attacker would, and tells you what to fix first.