ActiScan

DMARC

The Hidden Ceiling: What Actually Breaks When You Manage Email Authentication Across Dozens of Client Domains

September 4, 2026

Rodney Hall, COO— AI-assisted and reviewed prior to publication.

Rows of labeled domain key cards spread across a workbench beside a laptop showing DNS records

Most MSPs learn email authentication one domain at a time. A client signs up, someone publishes an SPF record, turns on DKIM signing in Microsoft 365 or Google Workspace, and adds a DMARC record set to p=none. It works. Reports come in clean. The client is told the domain is protected, and the technician moves on to the next ticket. The trouble is that none of the three protocols were designed with a managed service provider's actual operating model in mind, and the failure modes that matter only show up once the domain count climbs into the dozens and every domain is quietly drifting on its own schedule.

The core problem is not any single protocol failing outright. It is that SPF, DKIM, and DMARC each carry a fixed technical ceiling, and multiplying those ceilings across many client domains, each with a different vendor mix and change cadence, turns a one-time setup task into an ongoing operational liability that most MSP toolchains were never built to track.

What Actually Breaks First When Domain Count Climbs Past a Handful?

SPF breaks first, and it breaks silently. Every client that adds a new marketing platform, help desk tool, or CRM integration adds an include: mechanism to its SPF record, and each of those mechanisms can trigger a DNS lookup during evaluation.

The specification is explicit about the limit. RFC 7208, the IETF standard that defines SPF, caps evaluation at a fixed number of DNS-querying mechanisms per check, and receiving mail servers are required to stop evaluating and return a permanent error once that ceiling is crossed. When that happens, the receiving server cannot distinguish a legitimate sender from a forged one anymore, so it typically fails the message rather than risk letting spoofed mail through.

The Ten-Lookup Ceiling Nobody Budgeted For

The number in question is ten. A technical guide from Redsift walks through why this matters more now than when the rule was written: the limit was set in an era when a typical organization used one or two email-sending services, and the modern SaaS stack routinely requires SPF includes for Google Workspace or Microsoft 365, marketing automation, a CRM, a support desk, and more. Seven services can mean seven lookups before the domain's own mechanisms are even counted, and one more integration pushes the record over the edge.

For an MSP, the arithmetic does not stay still. A client at eight lookups today is at eleven next quarter after a well-meaning employee connects a new SaaS tool directly to the domain's DNS through a support ticket the MSP never sees. The record was compliant when it was built and broken by the time anyone checks it again, and nothing in DNS itself alerts anyone when the crossing happens.

A second, less visible limit compounds the problem. RFC 7208 also caps void lookups, meaning DNS queries that return no usable result, at two per check, and a domain can trip a permanent error from stale or misconfigured includes even while sitting comfortably under the ten-mechanism count. The rule that a domain may only publish one SPF record at all adds a third way for well-intentioned changes to break authentication outright, since a second record created by a careless DNS edit invalidates both.

The table below summarizes where the common mechanisms sit relative to the ceiling:

SPF elementCounts toward the 10-lookup limit?
include:Yes, one lookup per include, plus whatever it resolves to internally
a, mx, exists, redirectYes, one lookup each
ip4: / ip6:No, the address is already literal
A DNS query returning NXDOMAINCounts against the separate 2-lookup void limit

DKIM Keys Multiply Faster Than Anyone Files a Ticket

DKIM does not have a lookup ceiling, but it has an operational one: every signing domain needs a selector, a key pair, and eventually a rotation, and each of those exists per domain, not per MSP. RFC 6376 defines the signature mechanism itself, but the practical management burden, tracking which selector is active on which of forty-plus domains and when each key was last rotated, falls entirely on whoever runs the practice.

Microsoft's own guidance illustrates how this is meant to work in a single-tenant world. Microsoft Learn's DKIM configuration documentation describes two public-private key pairs generated per domain, with one selector active and the other held in reserve so rotation can happen without a signing gap. That design assumes an administrator who knows the domain intimately. An MSP technician managing that pattern across dozens of unrelated domains, each with its own selector history and rotation date, is running the same protocol dozens of times with no shared state between instances unless a platform is explicitly tracking it.

Why Does DMARC Alignment Fail Even When SPF and DKIM Both Pass?

Alignment fails because DMARC does not simply check whether SPF or DKIM passed. It checks whether the domain that passed matches the domain in the visible From header, and those two checks are not the same thing.

RFC 7489, the specification that defines DMARC, requires that a message satisfy alignment on at least one of the two mechanisms to receive a DMARC pass. A message can pass SPF cleanly because the envelope sender domain is authorized, and still fail DMARC because that envelope domain differs from the domain shown to the recipient, a mismatch that happens constantly through mailing list forwarding, poorly configured marketing platforms, and third-party senders using their own return path. Multiply that across many client domains, each with its own set of vendors making their own alignment decisions, and the reports an MSP has to parse every week grow proportionally.

The Bar Keeps Rising, Not Falling

None of this would matter as much if the requirements were static, but they are not. Gmail's own sender guidelines state that starting February 1, 2024, anyone sending 5,000 or more messages a day to Gmail accounts must meet a stricter authentication bar, and Google has said non-compliant mail now faces temporary or permanent rejection. Yahoo published parallel requirements through its own Sender Hub guidance, which stresses that the domain in the From header must be aligned with either SPF or DKIM as a condition of acceptable delivery.

Government has moved in the same direction. The Department of Homeland Security's Binding Operational Directive 18-01 required federal civilian agencies to move every second-level domain to a DMARC policy of p=reject within a year, establishing a public template that state governments, healthcare systems, and increasingly ordinary enterprise clients now reference when asking their MSP why their own domains still sit at p=none. An MSP that can barely keep SPF under ten lookups across its book has no realistic path to the same enforcement posture at scale without a system built for it.

The Real Cost Is Operational, Not Technical

Every failure mode above has a documented technical fix. The harder problem is that MSPs manage authentication across ownership boundaries the protocols never anticipated. The client owns the domain, the MSP typically holds delegated DNS access, and a departing MSP or a client that changes registrars can leave DMARC policy, reporting addresses, and DKIM selectors orphaned in DNS with nobody responsible for them.

A detailed MSP offboarding checklist from Scopable makes the exposure explicit: mail routing, SPF, DKIM, and DMARC records need to be documented before any DNS changes happen during a transition, because these records commonly get missed in the handoff and the resulting gap is invisible until a spoofed message or a delivery failure surfaces it. The technical debt is not in the DNS record itself. It is in the absence of a system of record that tracks who owns what, across how many domains, and when it was last verified.

Three patterns account for most of the operational failures ActiScan sees reported by MSPs managing more than a handful of domains:

  • SPF records that were compliant at onboarding and silently exceeded the 10-lookup ceiling months later, discovered only after a client's marketing email started bouncing
  • DKIM selectors left unrotated for years because no single dashboard flagged their age across the client portfolio
  • DMARC aggregate reports piling up unread because reviewing forty domains' worth of XML by hand is not a sustainable weekly task

Building a Practice That Scales With the Ceiling, Not Against It

None of these problems are solved by working harder on each domain individually. They are solved by treating email authentication as a managed, monitored discipline rather than a one-time DNS task, which is the operating model most mature MSP security practices have converged on. That means continuous lookup counting instead of a one-time check at setup, DKIM selector inventories with rotation reminders instead of tribal memory, and DMARC report aggregation that surfaces alignment failures across the whole client book rather than one domain at a time.

Firms that are still tracking this manually across a growing client list typically find the transition easiest by starting with the getting-started guide, which walks through connecting the first batch of domains before scaling to the rest of the portfolio. The pricing structure for multi-domain monitoring is laid out on the pricing page, and MSPs ready to see where their current domain book sits against these ceilings can move directly to the sign-up page to start a scan. The ceiling described here is fixed by protocol design. Whether it becomes a recurring incident or a managed constraint is entirely a function of the operational tooling wrapped around it.

← Back to all posts