DMARC Setup involves a series of specific steps to configure your DNS records and monitor email traffic. If you’re unsure why DMARC needs set up in the first place, I’ve written a separate article on Understanding DMARC: What It Is and Why It Matters.
With that, here is a detailed guide to help you set up DMARC for your domain:
Prepare Your Domain
- Ensure that your domain has valid SPF and DKIM records. DMARC relies on these protocols to function properly.
Create a DMARC Record
- A DMARC record is a DNS TXT record that specifies your DMARC policy. You will need to create this record in your domain’s DNS settings. Here is an example of what a basic DMARC record looks like:
v=DMARC1; p=none; rua=mailto:dmarc-reports@yourdomain.com; ruf=mailto:forensic-reports@yourdomain.com; sp=none; fo=1
- Explanation of DMARC Record:
- v=DMARC1: Indicates that this is a DMARC record.
- p=none: Policy for the main domain (none, quarantine, or reject). “None” means no action is taken on failing emails, but reports are sent.
- rua=mailto:dmarc-reports@yourdomain.com: Address to receive aggregate reports.
- ruf=mailto:forensic-reports@yourdomain.com: Address to receive forensic reports.
- sp=none: Policy for subdomains (none, quarantine, or reject).
- fo=1: Specifies when forensic reports are sent.
Publish the DMARC Record
- Log in to your DNS hosting provider’s management console.
- Navigate to the DNS settings for your domain.
- Add a new TXT record with the following details:
- Host/Name: _dmarc.yourdomain.com
- Type: TXT
- Value: The DMARC record you created (e.g., v=DMARC1; p=none; rua=mailto:dmarc-reports@yourdomain.com; ruf=mailto:forensic-reports@yourdomain.com; sp=none; fo=1)

Verify Your Setup
- Use MXToolbox to ensure your DMARC record is correctly set up and functioning as expected.
Monitor DMARC Reports
- Once the DMARC record is published, start receiving and analyzing the reports sent to the specified email addresses.
- Use a DMARC report analysis tool or service to help you interpret the reports and understand how your domain is being used.
Adjust Your DMARC Policy
- Begin with a “none” policy to monitor and gather data without affecting email delivery.
- Review the reports regularly to identify any issues with email authentication.
- Gradually transition to stricter policies:
- Quarantine (p=quarantine): Emails that fail DMARC checks are marked as spam or placed in the recipient’s junk folder.
- Reject (p=reject): Emails that fail DMARC checks are rejected and not delivered to the recipient.
Maintain SPF and DKIM Records
- Ensure that your SPF and DKIM records are correctly configured and up to date. These records are crucial for DMARC to function effectively.
- Regularly review and update your SPF and DKIM configurations as necessary.
Example of Implementing DMARC
Let’s say your domain is example.com and you want to set up DMARC. Here’s what you would do:
- Verify SPF and DKIM Records:
- Ensure you have a valid SPF Record, e.g. “v=spf1 include:_spf.example.com ~all”.
- Ensure you have a DKIM record set up with a valid public key.
- Create a DMARC Record:
v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com; ruf=mailto:forensic-reports@example.com; sp=none; fo=1
- Publish the DMARC Record:
- Log into your DNS provider’s console.
- Add a new TXT record:
- Host/Name:_dmarc.example.com
- Type: TXT
- Value: “v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com; ruf=mailto:forensic-reports@example.com; sp=none; fo=1”
- Monitor and Analyze Reports:
- Use a DMARC report analysis tool to read and interpret the reports sent to “dmarc-reports@example.com” and “foresnsic-reports@example.com”
- Adjust DMARC Policy:
- After monitoring for a period (few weeks to a month), adjust your policy to “p=quarantine” to start quarantining failing emails.
- Eventually, move to “p=reject” to fully enforce DMARC and reject all unauthorized emails.