Category: DMARC

  • How to Read a DMARC Aggregate Report (Without Losing Your Mind)

    How to Read a DMARC Aggregate Report (Without Losing Your Mind)

    You’ve set up DMARC with a rua= address, and now your inbox is filling with emails from Google, Microsoft, Yahoo and others, each with a zipped file attached. Inside is a wall of XML. This guide explains what those reports are, how to read one, and, most importantly, what to do with what you find.

    What a DMARC aggregate report is

    When you publish a DMARC record with a rua=mailto: address, mailbox providers send you a summary of all the email they received claiming to be from your domain. Each report usually covers one day from one provider and tells you:

    • which servers (IP addresses) sent email as your domain
    • how many messages each one sent
    • whether those messages passed SPF and DKIM, and whether they aligned with your domain
    • what the provider did with them under your policy

    Reports contain no message content and no recipient addresses, just counts and authentication results. They usually arrive as .xml.gz or .zip attachments with names like google.com!yourdomain.co.uk!1759276800!1759363199.xml.gz: the reporter, your domain, then the start and end of the reporting period as Unix timestamps.

    The anatomy of a report

    Here’s a trimmed-down example of what you’ll see once you unzip one:

    <feedback>
      <report_metadata>
        <org_name>google.com</org_name>
        <report_id>1234567890</report_id>
        <date_range><begin>1759276800</begin><end>1759363199</end></date_range>
      </report_metadata>
      <policy_published>
        <domain>yourdomain.co.uk</domain>
        <adkim>r</adkim><aspf>r</aspf>
        <p>none</p>
      </policy_published>
      <record>
        <row>
          <source_ip>203.0.113.25</source_ip>
          <count>412</count>
          <policy_evaluated>
            <disposition>none</disposition>
            <dkim>pass</dkim>
            <spf>fail</spf>
          </policy_evaluated>
        </row>
        <identifiers><header_from>yourdomain.co.uk</header_from></identifiers>
        <auth_results>
          <dkim><domain>yourdomain.co.uk</domain><selector>s1</selector><result>pass</result></dkim>
          <spf><domain>bounces.platform-example.com</domain><result>pass</result></spf>
        </auth_results>
      </record>
    </feedback>

    It looks intimidating, but there are only four parts that matter.

    1. report_metadata: who sent the report

    The provider’s name (org_name), a report ID and the time period covered. Useful for knowing which mailbox provider’s view you’re looking at, and nothing more.

    2. policy_published: what your DMARC record said

    This shows the policy the provider found in your DNS: your domain, your policy (p) and the alignment modes (adkim and aspf, where r means relaxed and s strict). If this doesn’t match what you think you published, check your DNS.

    3. row: the headline result for each sender

    Each record represents one sending IP (and one combination of results). The row gives you:

    • source_ip: the server that sent the email
    • count: how many messages it sent in the period
    • policy_evaluated: the DMARC verdict for DKIM and SPF, which means “passed and aligned with your From domain”, plus the disposition (what the provider did: none, quarantine or reject)

    4. auth_results: the raw SPF and DKIM results

    This is the part people misread. auth_results shows whether SPF and DKIM passed for whichever domain they checked. It doesn’t care whether that domain matches yours. That’s why you can see SPF “pass” here but “fail” in policy_evaluated.

    In the example above, SPF passed, but for bounces.platform-example.com, the platform’s own bounce domain. It doesn’t align with yourdomain.co.uk, so DMARC counts SPF as a fail. DKIM, though, was signed by yourdomain.co.uk and passed, so the email passes DMARC overall. That’s a perfectly healthy result.

    The four patterns you’ll see most often

    Both pass: all good

    DKIM and SPF both pass in policy_evaluated. These are typically your main mailbox provider (Microsoft 365 or Google Workspace) and properly configured platforms. Nothing to do.

    DKIM passes, SPF fails: usually fine

    Common for marketing platforms that use their own bounce domain, and for forwarded email (forwarding breaks SPF but not DKIM). DMARC still passes, as in the example above.

    A sender you recognise fails both: fix this before enforcing

    Your CRM, helpdesk, invoicing tool or website form is sending as your domain but isn’t authenticated. Set up DKIM for your domain in that platform, and add it to SPF if it uses your bounce domain. These are exactly the senders that would be blocked if you moved to p=quarantine or p=reject too early.

    An IP you don’t recognise fails both: likely spoofing

    Look up the IP’s owner (any IP “whois” tool will tell you the network). If it’s not a service you use, someone is sending email pretending to be you. That’s the threat DMARC enforcement stops, and a good reason not to sit on p=none for ever.

    A note on the 2026 DMARC update

    In May 2026 the IETF published updated DMARC standards (RFC 9989, 9990 and 9991), replacing the original 2015 specification. The aggregate report format changes slightly. For example, the DKIM selector becomes required and the pct field is dropped. Most providers still send the older format for now, so you may see both. What the reports tell you, and how you act on them, stays the same.

    Why reading XML by hand doesn’t scale

    One report is manageable. But a busy domain receives reports from dozens of providers every day, each listing many IP addresses, and the picture only becomes clear when you combine them over weeks. That’s why most businesses use a DMARC reporting tool that collects the files, groups IPs by sending service and flags new failures automatically.

    Turn your DMARC reports into action

    Our DMARC monitoring service collects your reports, identifies every service sending as your domain, flags spoofing and new failures, and guides you safely to p=reject. Not set up yet? Start by checking your records free.

  • DMARC p=none: What It Means and How to Move to Enforcement Safely

    DMARC p=none: What It Means and How to Move to Enforcement Safely

    If your DMARC record looks like this, your domain is in “monitoring mode”:

    v=DMARC1; p=none; rua=mailto:[email protected]

    That’s a perfectly good place to start. It’s also where a huge number of businesses stop, often for years, without realising what it leaves open.

    What p=none actually does

    DMARC has three policies. Each tells receiving mailbox providers what to do with email that claims to be from your domain but fails authentication:

    PolicyWhat happens to failing emailProtects against spoofing?
    p=noneDelivered as normal; you just get reportsNo
    p=quarantineSent to spam/junkMostly
    p=rejectRefused outrightYes

    So with p=none, someone can send a fake invoice “from” your domain to your customers and it will still be delivered. What you get in return is visibility: the reports sent to your rua address show every server sending as your domain and whether it passes SPF and DKIM.

    Is p=none enough?

    For delivery, mostly yes. Google, Yahoo and Microsoft all require bulk senders to have a DMARC record, and p=none meets that minimum. If you were seeing errors like Microsoft’s 550 5.7.515, a p=none record (plus passing, aligned SPF or DKIM) is what clears them.

    For protection, no. Your domain can still be used in phishing and invoice fraud, which damages your reputation with customers and with mailbox providers.

    For BIMI, no. If you want your logo to appear next to your emails in Gmail and other inboxes, BIMI requires an enforcement policy: p=quarantine or p=reject.

    Why businesses get stuck on p=none

    The fear is reasonable: “If I switch to reject and I’ve missed something, my own emails will stop arriving.” That’s exactly what happens when a business moves too fast. A payroll system, a website contact form, a CRM or an old marketing platform is still sending as the domain without being authenticated, and those emails disappear.

    The way out is not to stay on p=none for ever. It’s to use the reports to find every sender first.

    A safe path from p=none to p=reject

    1. Make sure reports are arriving, and actually read them

    DMARC aggregate reports arrive as zipped XML files, usually daily from each provider. They’re not meant to be read by humans in their raw form. Use a DMARC reporting service (or ours) to turn them into a readable list of sending sources.

    2. List every legitimate sender

    Go through each source in the reports and label it: Microsoft 365 or Google Workspace, your email marketing platform, CRM, helpdesk, accounting software, website, and so on. Anything you don’t recognise is either a forgotten tool or someone spoofing you.

    3. Fix authentication and alignment for each one

    For every legitimate sender, set up DKIM signed with your domain, and add it to SPF where the platform supports it. DMARC passes when SPF or DKIM passes and matches the domain in your From address. DKIM is the more reliable of the two, because it survives forwarding.

    4. Move to p=quarantine

    Once your reports show your legitimate mail passing consistently (we suggest at least two to four weeks of clean data), update the record:

    v=DMARC1; p=quarantine; rua=mailto:[email protected]

    Keep watching the reports. If a legitimate source starts failing, it goes to spam rather than vanishing, so you can catch it and fix it.

    5. Move to p=reject

    After another few weeks with no surprises, go to full protection:

    v=DMARC1; p=reject; rua=mailto:[email protected]

    6. Don’t forget subdomains and parked domains

    Your subdomains inherit your policy unless you set sp=. Domains you own but never send from (old brand names, .ie or .com variants of your .co.uk) should be locked down with v=spf1 -all and p=reject straight away, because they’re easy targets for spoofing.

    How long should the whole process take?

    For most small and medium-sized businesses, six to twelve weeks from p=none to p=reject is realistic. The time goes mainly on tracking down the senders nobody remembered.

    Where does your domain stand?

    Check your DMARC, SPF and BIMI records free: you’ll see your current policy and anything that needs fixing before you move to enforcement. Want it done for you? Our DMARC service handles the reports, finds every sender and takes your domain to p=reject safely.

  • What is BIMI and How It Works: An Introduction for Email Marketers

    As an email marketer, your primary objective is to get your message across to your target audience. However, despite creating compelling email campaigns, if your emails end up in the spam folder, all your efforts would have been in vain.

    That’s where email deliverability comes in. Email deliverability refers to the ability of your emails to land in your subscribers’ inboxes. Previously we have discussed the more established methods of authentication, but one of the latest technologies that can enhance email deliverability is BIMI (Brand Indicators for Message Identification). In this article, we’ll explore what it is and how it works.

    What is BIMI?

    BIMI is an email authentication protocol that leverages brand logos to authenticate the sender’s identity, which builds upon the DMARC (Domain-based Message Authentication, Reporting, and Conformance) standard, which enables email clients to authenticate the sender’s domain name.

    It allows email marketers to display their brand logo alongside email messages in the recipient’s inbox, subject to the email passing DMARC authentication, adding an additional level of protection.

    Bimigroup.org have a great set of resources including an implementation guide along with supporting documents that they keep up to date.

    How does it work?

    First you must establish DMARC authentication for your domain name, with the policy set at least to ‘quarantine’.

    And remember! DMARC requires that SPF or DKIM has been implemented correctly as a standard so that’s two layers of protection that are required in order to proceed.

    After setting up DMARC, you can generate a BIMI record that specifies the location of your brand’s logo. This record is then publicly available in your domain’s DNS (Domain Name System).

    The recipient’s email client verifies the sender’s DMARC record whenever an email is transmitted. If the email passes, the email client then searches for a BIMI record in the sender’s DNS, and if found, the email client exhibits the sender’s logo and the email message.

    Why use BIMI?

    First and foremost, it enhances email deliverability by improving the sender’s reputation and trustworthiness, aided by the fact that it requires SPF or DKIM and DMARC to succeed.

    Also, you increase brand recognition and recall by displaying your brand logo in the recipient’s inbox, and this can in turn help improve your email open and click-through rates.

    The resulting improvement in engagement can also lead to better deliverability providing other best practices are also maintained.

    Lastly it can also help prevent email phishing attacks as it provides an extra method for verifying the sender’s identity.

    BIMI and the SPF Vulnerability

    What sounds like a bad children’s book is actually a serious case for making sure that you have authentication implemented correctly.

    In June, 2023, a security architect named Chris Plummer was able to send an email that appeared to come from UPS, managing to trick gmail to include the UPS logo and blue check.

    The official statement clarifies that the issue stems from a vulnerability that can occur if SPF is not implemented or if it has been implemented incorrectly. Gmail made some changes as a result and now DKIM is a necessary requirement as a part of your DMARC alignment, where previously SPF was also acceptable.

    Conclusion

    BIMI is a cutting-edge technology that can significantly enhance email deliverability. You can boost brand recognition and recall by showcasing your brand logo in the recipient’s inbox, heighten email open rates and click-through rates, and thwart email phishing attacks. As an email marketer, it’s prudent to implement it to stay at the forefront and enhance the efficacy of your email campaigns.

    Nobody wants to be scammed. We all want to improve subscriber engagement and deliverability that is the best it can be. Get in touch with InboxWizards today, and we can help you set up authentication correctly, troubleshoot any existing problems you might have and monitor your deliverability, ensuring that any future issues are dealt with quickly and effectively.

  • The Power of DMARC: How It Can Keep Your Business Safe

    Ensuring successful email delivery is critical for any email marketing campaign. However, many marketers may face challenges when comprehending the technical components of email deliverability. DMARC, which stands for “Domain-based Message Authentication, Reporting, and Conformance,” is one aspect that marketers need to be familiar with. In this piece we delve into what it is, its significance and impact on email deliverability.

    What is DMARC?

    DMARC is an email authentication protocol that is used to prevent fraudulent emails from being delivered to the recipient’s inbox that builds upon SPF & DKIM, requiring that at least one of them is implemented as a prerequisite.

    SPF allows email senders to specify which IP addresses are authorised to send emails on behalf of their domain.

    Additionally, DKIM, the email authentication method that uses a digital signatures to authenticate emails. The signature lets the receiver know that a message was sent and authorised by the owner of a domain, offering yet another level of security.

    If you need more information regarding how DKIM works, our article can help you get started.

    DMARC is the next layer of protection by adding further parameters that ESPs can check in order to confirm that the email is authentic. In order for an email to be considered authentic it requires that SPF alignment passes as a minimum and can be set up to check for DKIM alignment as well.

    It should be pointed out that Google recently made changes to their requirements choosing DKIM as a prerequisite after an issue arose with SPF, which we cover in our article under the risks of an incorrect setup.

    For a full list of resources linked to the implementation of DMARC visit the official DMARC.org website.

    Why does DMARC matter?

    It is crucial in ensuring email deliverability and protecting your brand’s reputation and it’s worth mentioning that German ESPs have recently placed greater importance on having it implemented.

    First of all, it enables email service providers (ESPs) to determine which emails are legitimate and which are not. This allows ESPs to make better decisions about which emails to deliver to the inbox and which to send to the spam folder, and what emails to block and reject completely.

    As a result, one of the primary benefits is its ability to prevent spoofing and phishing attacks, whereby hackers or cybercriminals send an email using your brand’s domain in order to, essentially, trick people into handing over their money.

    It goes without saying that would be detrimental to your business’s reputation.

    Also, as your customers’ personal information is protected against such attacks, it is important for compliance with regulations such as GDPR, which requires that you take steps to protect their data.

    Although when operating in the EU, RUF reports are not GDPR compliant as they can contain PII (Personally Identifiable Information.)

    To set it up for your domain, you must create a record in your DNS settings.

    What does a DMARC record look like?

    Like SPF, it requires a TXT record be added to a domain’s DNS (Domain Name System) settings. It contains various tags that define the policy and reporting options for the domain. A typical record looks like this:_dmarc.example.com. 3600 IN TXT “v=DMARC1; p=none; rua=mailto:[email protected]; ruf=mailto:[email protected]; fo=1”

    Here’s a breakdown of the components in the example DMARC record:

    1. _dmarc.example.com.: This is the record’s location in the DNS, which is created as a subdomain under the primary domain (in this case, example.com).
    2. 3600: This is the Time to Live (TTL) value in seconds, which determines how long the record should be cached by DNS resolvers.
    3. IN TXT: This indicates that the record is an Internet (IN) class TXT (text) record.
    4. “v=DMARC1;: The v tag specifies the version.
    5. p=none;: The p tag defines the policy for handling emails that fail DMARC checks. In this case, none means no specific action should be taken. Other options are quarantine (to mark the message as spam or suspicious) and reject (to reject the message entirely).
    6. rua=mailto:[email protected];: The rua tag specifies the email address to which aggregate reports (RUA reports) should be sent.
    7. ruf=mailto:[email protected];: The ruf tag specifies the email address to which forensic reports (RUF reports) should be sent.
    8. fo=1: The fo tag defines the conditions for generating forensic reports. In this case, 1 means to generate a report if either SPF or DKIM fails.

    There are additional, optional tags that can be included in a record, such as adkim, aspf, pct, and sp, to further customise the policy and reporting options. The tags should be separated by semicolons and enclosed in the double quotes within the TXT record.

    Report Types

    There are two types of reports, known as RUF (Report Using Forensic) and RUA (Report Using Aggregate), they contain data about email authentication results, including information about emails that failed SPF, DKIM, and DMARC checks. These reports help domain owners monitor their email traffic and detect potential issues or malicious activities.

    Conclusion

    DMARC is an essential aspect of email deliverability that helps to prevent spoofing and phishing attacks, improve email deliverability, and ensure compliance with regulations. It helps you protect your brand’s reputation and improve the effectiveness of your email marketing campaigns.

    We offer a full range of deliverability services, including DMARC monitoring packages to ensure that your domain is fully protected and optimised, contact InboxWizards to discuss your requirements with an expert.