AUTHENTICATION

Authentication

550 5.7.1

550 5.7.1 SPF check failed

550 5.7.1 Message rejected due to SPF check failure

The receiving server checked your domain's SPF record and did not find the sending IP in it. Because your record ends in -all, that is an explicit rejection.

permerror

SPF permerror — too many DNS lookups

Received-SPF: permerror (SPF Permanent Error: Too many DNS lookups)

Your SPF record exceeds the limit of 10 DNS-querying mechanisms. The consequence is not “partially valid” but: SPF counts as unevaluable — for all your mail, including from your main server.

550 5.7.26

550 5.7.26 — DMARC policy

550-5.7.26 Unauthenticated email from example.com is not accepted due to domain's DMARC policy

DMARC passes only when SPF or DKIM passes and the domain it checked aligns with the domain in the From: header. That second condition — alignment — is almost always the reason for this message.

body hash

dkim=fail — body hash did not verify

dkim=fail (body hash did not verify) header.d=example.com

This message says something very specific: the key was found, the signature is formally fine — but the message body is no longer the same as when it was signed. Something along the way touched it.

no key

dkim=permerror — no key for signature

dkim=permerror (no key for signature) header.d=example.com header.s=selector1

The receiver read the signature, looked for the matching public key in DNS — and found nothing. The fault is almost always in DNS, not in the mail server.

REPUTATION

Reputation & Blacklists

554 5.7.1

554 5.7.1 — Client host blocked

554 5.7.1 Service unavailable; Client host [203.0.113.5] blocked using zen.spamhaus.org

The message usually names the list that triggered it. That is the most valuable piece of information in it — because lists differ enormously in how much they matter.

421 4.7.0

421 4.7.0 Try again later

421 4.7.0 Try again later, closing connection (MAIL) [ip] - gsmtp

The first digit decides: 4xx is temporary, the message is not lost. Your server will try again. A persistent 421 is still a warning sign — it is practically always about reputation.

INFRASTRUCTURE

DNS & Infrastructure

550 5.7.25

550 5.7.25 — reverse DNS missing

550 5.7.25 The IP address sending this message does not have a PTR record setup

This rejection almost exclusively hits self-hosted mail servers. The receiver looks the sending IP up in reverse and finds no name — or one that does not confirm going forward.

Message not listed?

The fastest route to the cause runs through the message itself: send or forward the affected email to hello@analyzemy.email. The report shows SPF, DKIM, DMARC, blacklists and the TLS path for that exact message.

Analyze your email now