Why does a DNS check pass with all=pass when all~all was used?

You run a DMARC check and see a clean pass for all=pass—but your policy was actually all~all. What gives? This isn’t a bug. It’s how the system is designed to work.

DMARC policies aren’t applied in real time during DNS validation. Instead, the check evaluates what happens when a message fails SPF or DKIM. all=pass means, “accept any message that passes SPF or DKIM alignment.” That’s a permissive signal. all~all means, “accept, but treat as suspicious.” Neither blocks delivery. So a DNS check passes either way—and that’s expected.

Key takeaways

  • DMARC policy checks during verification assess alignment acceptability, not sender intent or actual delivery behavior.
  • Both all=pass and all~all allow message delivery; only all=reject blocks email.
  • Seeing all=pass in a DNS check doesn't mean your domain is misconfigured—it reflects the policy’s impact on validation, not real-world filtering.

How do SPF, DKIM, and DMARC interact during email verification?

SPF, DKIM, and DMARC work together in email verification to confirm whether an address is genuinely linked to a domain and whether sending infrastructure is properly configured. SPF checks the sending IP against DNS records, DKIM verifies message integrity via cryptographic signatures, and DMARC uses both results to decide what to do with failing messages—like rejecting or quarantining them. These checks help tools like MailTester assess delivery risk and validity.

How each protocol functions in verification

During verification, SPF validates whether the sending server’s IP is authorized by the domain’s DNS records. This means that even if an address is syntactically valid, it may fail SPF if the IP isn't listed. You'll see this in a real-time check when the sending IP doesn't match the domain's SPF policy.

DKIM ensures the message body hasn't been altered in transit. A cryptographic signature is attached to the email and verified against a public key published in DNS. If the signature fails—or if the domain doesn't publish a valid key—DKIM is marked as failed, which hurts inbox placement.

DMARC combines SPF and DKIM results and applies the policy defined in the domain’s DNS record. A policy like all=pass means all messages are accepted, even if SPF or DKIM fail. But when the policy is all~all (soft fail), messages are allowed but marked as suspicious. This is why a verification tool might show "pass" even with all~all: it accepts non-compliant messages by default, which doesn’t reflect delivery reliability.

Protocol What it verifies How it’s checked Impact on verification
SPF Sending server IP authorization Query DNS for the domain’s SPF record If IP not authorized, email likely rejected by recipient server
DKIM Message integrity and sender authenticity Verify the digital signature against the public key in DNS Any change to headers or body breaks DKIM; indicates spoofing risk
DMARC Policy enforcement for SPF and DKIM failures Check DNS for the domain’s DMARC record (e.g., rua=mailto:[email protected]) Determines how strict to be: none, quarantine, or reject

If a domain uses all~all but the verification tool treats it as all=pass, it’s likely prioritizing delivery over protection. This can result in misleading “pass” results—useful for volume, harmful for security. For example, a real email sent from a compromised IP might pass SPF if the DNS records are misconfigured, even if the message was altered.

MailTester performs DNS checks across these protocols during validation. You can verify a list before sending with our bulk verification tool to catch invalid, risky, or unverifiable addresses early.

What does 'pass' mean in a DNS check during verification?

A 'pass' in a DNS check means the domain’s SPF, DKIM, and DMARC records are syntactically valid and can be resolved by public DNS servers. It confirms the technical setup is correct, but does not guarantee incoming emails will avoid spam filters or land in inboxes. A single record misconfiguration—like using all~all instead of all=pass—can still return a pass if the syntax is valid, even if the policy is lenient or non-binding.

Why syntax isn’t enough

Let’s say your DMARC policy uses all~all. That’s a soft fail, not a hard reject. But as long as the record parses and is reachable, the DNS check will report a pass. This highlights a key point: DNS validation only checks for existence and syntax, not policy strength or sender reputation. A domain can pass all DNS checks and still be flagged by receivers due to poor sending practices, spam complaints, or blacklisting.

Consider SPF. A record like v=spf1 include:_spf.google.com ~all passes validation just fine. The ~all mechanism means “soft fail” for unauthorized senders—still allowing some delivery, but not with the same trust as all=pass. Similarly, DKIM alignment may be correct, but if the signing domain doesn’t match the From address, the email may still be filtered.

What a DNS pass *really* means

Think of it like a building inspection. A pass means the foundation is laid and all structural blueprints are present. But it doesn’t mean the building passed fire safety, zoning rules, or was inspected for code violations. In email terms, DNS pass means the signals are there—you can deliver messages—but they may not be trusted. A single domain can pass all DNS checks and still have its messages rejected based on reputation, volume, or sender behavior.

For example, a domain with a long history of spam complaints might have perfectly valid SPF and DMARC records, but receivers will still block it. This is why DNS check results alone should never be trusted as a definitive signal of deliverability. The same domain could pass DNS checks, yet inbox placement would be poor.

Using a tool like MailTester helps you verify not just DNS records, but the full behavior of your recipients. The inbox placement tester simulates real delivery and shows whether messages are landing in inboxes or spam folders—even if DNS is perfect.

How does DMARC's 'all=pass' affect deliverability and verification results?

DMARC’s all=pass policy means receivers accept messages even if they fail SPF or DKIM checks—so a passing DNS check doesn’t guarantee security or inbox placement. This can mislead verification tools into marking domains as valid when alignment is broken, especially if the only policy in place is p=none or p=quarantine with all=pass. Tools like MailTester verify DNS records and alignment, but not actual delivery behavior—so a pass on DNS doesn’t mean your emails will reliably land in inboxes.

Why DNS validation alone isn’t enough for deliverability

You might see a success on a DNS check with all=pass, but that doesn’t mean your emails are trusted. The SPF and DKIM alignment requirements are still in place, even if the policy says to accept everything. If your sender domain has no enforcement (like p=none), malicious senders can still impersonate you—yet your DNS record will still validate as correct to third-party tools.

Let’s say you’re sending from a subdomain with no SPF or DKIM alignment, and DMARC says all=pass. The verifier sees a valid record, assumes all is well, and marks it as “pass.” But the real world doesn’t work that way—most email providers enforce alignment. You may still get blocked or quarantined even with a valid DNS setup.

Verification tools focus on technical correctness, not sender reputation

Tools like MailTester perform DNS checks to test if your SPF, DKIM, and DMARC records are properly configured. They validate syntax, alignment, and policy presence—but they don’t simulate inbox placement or assess sender reputation. Even a strict all=reject policy can fail if the receiving server doesn’t enforce it.

So if your DMARC policy says all=pass, you’re essentially saying “no action required” on failure. That’s not a security win—it’s a gap. You might pass a DNS check, but your emails could still be flagged or blocked based on reputation or behavior patterns.

For example, the DMARC RFC describes how policies apply only to aligned, authenticated messages. A pass result only confirms syntax—never intent. Real deliverability depends on consistent authentication, domain reputation, and engagement, not just a passing DNS entry.

Use MailTester’s email checker to test individual addresses for validity and authentication alignment before sending. This helps catch issues early, even if your domain passes DNS. You’re not just verifying the DNS—you’re validating the full chain from sender to inbox.

Why does 'all~all' show as compliant but still trigger warnings?

Even though your DNS record uses all~all, which technically passes alignment checks, it signals to email providers that the message isn't fully trusted—resulting in a "soft fail" that can land your emails in spam folders, not because the record is broken, but because it’s seen as less secure. RFC 7052 allows all~all as a valid policy but warns that using it may result in less favorable treatment.

Alignment is valid, but the intent weakens trust

When you use all~all, you're saying "this sender may be legitimate, but I'm not certain." It's not a rejection—it’s a warning. Email providers like Gmail and Microsoft see this as low confidence. Messages with all~all still pass technical verification, but their delivery is more likely to be filtered or subjected to additional scrutiny, especially if there's a track record of poor alignment.

Why verification tools don’t flag it as an error

Tools like MailTester check the syntax and existence of your DNS records—not how providers treat them. A record with all~all is perfectly valid from a technical standpoint, so it passes the basic check. But because alignment isn’t mandatory under all~all, it doesn’t enforce strict sender identity validation, leaving room for bypassing. This is why you might see a "pass" from a verification tool while still experiencing deliverability issues.

Let’s be clear: passing a DNS check doesn’t mean your emails will land in the inbox. Tools like MailTester’s inbox placement test simulate real delivery conditions, including how different providers interpret your alignment policy. That’s where the gap shows. You can verify thousands of addresses at once using our bulk verification tool, and see how many are affected by alignment misconfigurations—even if the DNS record itself checks out.

Ultimately, all~all is acceptable for testing or low-risk sends, but for production campaigns, all=pass or even all=reject is the safer choice. It signals confidence, reduces filtering risk, and improves sender reputation over time.

What happens when DMARC alignment fails but the record parses correctly?

Even if your DMARC DNS record parses with all=pass but uses all~all, the receiver still accepts the message—but may apply stricter scrutiny. Alignment failures don’t cause outright rejection, but can trigger content scanning, delay delivery, or route the email to the spam folder. DNS checks showing “pass” only confirm syntax, not real-world inbox placement.

Why DNS pass doesn’t mean deliverability pass

DMARC alignment checks the From header against the SPF and DKIM signatures. If there's a mismatch—say, from=example.com but DKIM is signed from mail.example.net—it fails alignment. The server sees a valid record, so the DNS check passes, but the message still gets treated with suspicion. This is a common reason why emails with correct DNS still end up in spam.

Receiving servers like Gmail and Outlook use DMARC not just for blocking, but for assessing sender reputation. A consistent history of alignment failures signals poor sender hygiene, even if the email is technically allowed through. Over time, this erodes reputation, lowering inbox placement scores.

Verification tools catch syntax, not behavior

Email verification services check DNS syntax, including DMARC record format and parsing. They confirm your record exists and is structured correctly. But they don’t simulate real-world inboxing behavior. A record may parse correctly with all=pass but still allow spammy traffic if alignment is weak or missing.

That’s why you need more than a DNS check. Real deliverability depends on actual inbox placement, engagement patterns (opens, clicks, complaints), and sender reputation—factors verification tools like MailTester’s inbox placement tester help assess. Our bulk verification checks domains and handles catch-all, disposable, and role accounts so you can send only to addresses that actually receive mail.

Even with perfect syntax, one misaligned domain in your list can hurt your overall sender reputation. The DMARC spec (defined in RFC 7483) acknowledges this—alignment is a gatekeeper to trust, not a finish line.

How does MailTester handle DMARC records with all=pass or all~all?

MailTester checks that your DMARC record is resolvable and correctly structured—no syntax errors, missing tags, or malformed tags. It reports whether your policy uses all=pass or all~all, but treats both as valid syntax. A "pass" in the DNS check means the record is well-formed and accessible, not that messages will actually deliver to inboxes.

DMARC Policy Syntax vs. Delivery Reality

The DMARC all=pass and all~all settings are policy instructions for receiving servers, not delivery guarantees. all=pass tells receivers to accept all messages, while all~all means "treat suspicious messages as soft fail" — a more lenient stance. MailTester doesn’t judge the strength of your policy or predict inbox placement. Its role is to confirm the record exists, is correctly formatted, and can be parsed—exactly as required by RFC 7483.

Because DMARC is only one factor in inbox placement, a passing DNS check doesn't mean your email will land in the inbox. Factors like sender reputation, engagement rates, and spam filtering behavior influence final delivery. MailTester’s test is about technical compliance, not predictive performance.

Why This Matters for Deliverability

If your DMARC record is misspelled or unreachable, even a well-intentioned policy won’t help. Receiving servers skip validation if they can’t reach your record. MailTester catches these issues upfront—like a missing DMARC record or a typo in a tag—before they cause delivery problems.

For example, if you’re using all=pass but the record is never published, receivers may default to treating your email as unverified. That’s why a "pass" in the DNS check doesn’t equal guaranteed inbox delivery. It’s just one piece of a larger puzzle.

Still, a clean DMARC record is necessary. You can test your domain’s full email authentication stack—including SPF, DKIM, and DMARC—with MailTester’s bulk verification tool. It’s built for teams who want to check many addresses at once, spot issues early, and improve list hygiene.

For real-time checks, the API integrates directly into your workflow. It gives you instant feedback on any address, including DMARC record status. And if you’re unsure how an email will perform, check inbox placement via the inbox tester, which simulates delivery across major providers.

Remember: DNS syntax check doesn’t predict delivery. It ensures the foundation is sound.

Common misconceptions about DMARC and DNS verification

You might see a "pass" in a DNS check when using all=pass in your DMARC record, but that doesn’t mean your domain is secure, trusted, or even protected. A pass just means the DNS syntax is valid—not that your email policy is effective. Using all=pass doesn’t improve deliverability; it actually disables filtering, which can expose you to spoofing and harm sender reputation over time. Even with perfect DNS records, poor inbox placement can still happen if your engagement is low or your sender reputation is weak.

Common misconceptions explained

  • DMARC validation passing with all=pass does not mean your domain is protected—only that the DNS record parses correctly. The outcome depends on your policy, not the syntax.
  • Using all=pass relaxes filtering, which means unauthorized senders may still deliver. This weakens your email security and can indirectly hurt deliverability over time.
  • A "pass" in a DNS check doesn't guarantee inbox placement. Deliverability depends on engagement, reputation, and content quality, not just DNS configuration.
  • Correct SPF, DKIM, and DMARC records are necessary but not sufficient. High bounce rates, low open rates, or spam complaints can still block your emails despite flawless DNS.
  • Even if all your records are valid, a poor sender reputation—built over weeks or months—can result in filtering, even for legitimate mail. Reputation is earned, not configured.
  • Tools that check only DNS syntax will show a pass for all=pass, but that’s not a security win. It’s a configuration choice that reduces protection. According to the DMARC RFC, all=none or all=reject are recommended for security, not all=pass.

What really matters for inbox placement

Let’s be blunt: DNS alignment is a baseline. It’s not a shortcut to trusted status. Even with all=pass showing as valid, your emails may not land in inboxes if recipients mark them as spam or ignore them.

That’s why you should go beyond DNS checks. Use a tool like MailTester’s bulk verification to test lists before sending—catch invalid or risky addresses early, before they harm your reputation or trigger filters.

Even if your DNS checks pass, real deliverability is built on consistent engagement, clean lists, and responsible sending behavior. DNS validation is just one piece of the puzzle.

How to verify your domain's actual deliverability, not just DNS

You can’t trust a DNS check that shows pass with all=pass if your emails still land in spam. DNS alignment is just one piece. True deliverability depends on how ISPs perceive your domain and IP over time. Use inbox placement testing, track sender reputation, and monitor real-time engagement metrics to see where your emails actually land.

Go beyond DNS: test real inbox placement

  1. Run inbox placement tests before sending to real users. Tools like MailTester’s inbox tester simulate delivery across Gmail, Outlook, and other major providers to show whether your emails land in the inbox, spam folder, or get blocked. This reveals the actual outcome, not just DNS alignment.
  2. Monitor delivery over time. A single test isn’t enough. Track trends in open rates, bounce rates, and spam complaints. A sudden spike in bounces or complaints can signal reputation issues even if your DNS checks pass.
  3. Check your IP and domain reputation using public tools like Spamhaus or MxToolbox. These databases list known abusive IPs and domains. If your sending IP appears on a blocklist, even valid DNS won’t save your deliverability.

Use real-time verification to clean and validate

  1. Verify your email list with a tool that checks both syntax and engagement signals. For example, MailTester’s bulk verification service confirms whether an address is valid, catch-all, disposable, or risky—helping you clean your list before sending.
  2. Use the real-time API to verify individual addresses at scale. This reduces the risk of sending to invalid or high-risk addresses that hurt your sender reputation. You can integrate it with your CRM, marketing platform, or onboarding workflow.
  3. Combine deliverability checks with reputation monitoring. Tools like MxToolbox show if your domain is on any blacklists, giving you a clear view of whether your sending infrastructure is trusted.

For a full picture, pair DNS checks with real-world inbox placement and reputation monitoring. DNS alignment is necessary but not sufficient. Your domain may pass all=pass checks, but if your IP is blacklisted or your content triggers spam filters, your emails will still fail.

Go beyond DNS: test real inbox placementThe 3 steps described in “Go beyond DNS: test real inbox placement”, in order.1Run inbox placement tests before sending to real users. Tools likeMailTester’s inbox tester simulate delivery across Gmail, Outlook, andother major providers to show whether your emails land in the inbox,spam folder, or get blocked. This reveals the actual outcome, not just…2Monitor delivery over time. A single test isn’t enough. Track trends inopen rates, bounce rates, and spam complaints. A sudden spike in bouncesor complaints can signal reputation issues even if your DNS checks pass.3Check your IP and domain reputation using public tools like Spamhaus orMxToolbox. These databases list known abusive IPs and domains. If yoursending IP appears on a blocklist, even valid DNS won’t save yourdeliverability.
The 3 steps described in “Go beyond DNS: test real inbox placement”, in order.
Deliverability isn’t about passing a single test—it’s about being consistently trusted by receiving systems over time.

Test your email deliverability in real inboxes with MailTester’s inbox placement tool. It shows exactly where your message lands—without guesswork.

How to improve deliverability when DNS records show 'pass' but deliverability is poor

Just because your SPF, DKIM, and DMARC records show "pass" doesn’t mean your emails land in inboxes. A passing DNS check with all=pass despite using all~all often masks underlying issues like misaligned authentication, over-complex SPF, or weak DMARC enforcement. You need to go beyond DNS validation and audit your actual sending behavior, alignment, and monitoring. Use real-time tools to test inbox placement, verify your records align with actual sends, and fix root causes like poor sender reputation or incorrect DNS configurations before scaling.

Run a real-world deliverability test

Before fixing anything, confirm the issue isn’t just a false positive. Use a tool that checks where your email actually lands — not just whether headers match. MailTester’s inbox placement tester simulates real delivery across major providers to show whether your message hits the inbox, spam, or is blocked.

  1. Review and clean your SPF record — Ensure it includes only IP addresses or domains that actually send email on your behalf. Exceeding the 10 DNS lookup limit breaks SPF and can lead to inconsistent validation. Use RFC 7208 as a reference for correct syntax and avoid overly broad mechanisms like include:*.
  2. Validate DKIM alignment and key consistency — Use a consistent selector across all sending systems. A mismatched selector or weak key length (e.g., under 1024 bits) causes DKIM to fail even when the record is technically present. Verify alignment with the sending domain using tools like MXToolbox.
  3. Enforce DMARC policy strictly after monitoring — Start with p=quarantine or p=none to gather data. Once you confirm no legitimate mail is failing, move to p=reject to block unauthorized senders. A DMARC policy with all=pass but all~all in SPF is contradictory and undermines the entire system.
  4. Monitor DMARC reports with a parser — Tools like PowerDMARC or Dmarcian help you analyze aggregate reports. Look for alignment failures, particularly in SPF and DKIM, and identify unauthorized sources. A lack of alignment—even with passing DNS—means mail will still be rejected or marked as spam.

Use verified data before sending

Authentication is only one piece. Even with perfect DNS, poor sender reputation, high bounce rates, or inactive users hurt deliverability. Run your entire list through a tool like bulk email verification to catch invalid, role-based, or disposable addresses before sending. You’ll reduce bounces, protect your sender reputation, and gain insight into list quality long before you hit the inbox.

The difference between DNS validation and real-world deliverability

DNS validation confirms that your domain’s records (SPF, DKIM, DMARC) are present and correctly formatted. It shows a technical "pass" — but only verifies setup, not behavior.

Deliverability is determined by how email providers evaluate your sending patterns over time: volume, engagement, complaint rates, and reputation. A domain may pass DNS checks yet still be blocked due to poor sender reputation.

A DNS pass means the foundation is built. Inbox placement requires consistent, trusted sending behavior. Validation tools like MailTester go beyond DNS to simulate real delivery outcomes.

Sources

Keep reading

Ready to put this into practice? MailTester verifies emails with 98.9% accuracy — start with 100 free verifications.

Frequently asked questions

Does a DMARC 'all=pass' policy block email delivery?

No. An 'all=pass' policy means receivers should accept any message that passes SPF or DKIM, even if it fails alignment. It does not block delivery.

Why does a DNS check pass with all=pass even though my domain uses all~all?

The 'all=pass' setting reflects the current policy in the DMARC DNS record. If your domain uses 'all~all', the DNS check will reflect that correctly, not 'all=pass'.

Can a domain be verified correctly but still have poor deliverability?

Yes. DNS checks confirm technical setup, but deliverability depends on sender reputation, engagement, and inbox placement over time.

Is 'all~all' worse than 'all=pass' for email delivery?

Not inherently. 'all~all' allows delivery but marks failed messages as suspicious, which can impact inbox placement. 'all=pass' relaxes filtering but may allow more spoofed emails.

What is the best DMARC policy for new domains?

Start with 'p=none' to monitor reports, then move to 'p=quarantine' for testing, and finally to 'p=reject' once alignment is stable.

How accurate is MailTester's email verification?

MailTester achieves 98.9% accuracy in verifying email addresses across bulk and real-time checks, including DNS, catch-all, and role account detection.

Do I need to check DMARC for every email I send?

Yes—if you’re managing your domain’s sending infrastructure. DMARC ensures only authorized senders can use your domain.

Can a domain with a valid DMARC record still be blocked?

Yes. Valid DMARC records prevent spoofing but do not guarantee deliverability. Factors like IP reputation, user engagement, and spam complaints matter more.

Why doesn’t MailTester flag 'all~all' as risky?

Because 'all~all' is a valid DMARC policy. Verification tools assess syntax and structure, not the real-world impact of each policy type.

How can I test if my emails land in the inbox?

Use MailTester’s inbox placement testing to simulate real-world delivery across major providers like Gmail, Yahoo, and Outlook.