Skip to content
Hard bounce · 5xxAuthentication

5.7.25
Reverse DNS validation failed

Enhanced code 5.7.25 means your sending IP has no valid reverse DNS (PTR) record, or its PTR hostname does not resolve back to the same IP.

What it looks like in your logs

550-5.7.25 [203.0.113.10] The IP address sending this message does not have a PTR record setup, or the corresponding forward DNS entry does not point to the sending IP. - gsmtp

What does 5.7.25 mean?

RFC 7372 defines X.7.25 as reverse DNS validation failed. The receiver looked up the PTR record for your sending IP and either found nothing, or found a hostname that does not resolve back to that same IP. The check both ways is called forward-confirmed reverse DNS, or FCrDNS, and it is one of the cheapest ways a receiver can separate real mail servers from infected home machines.

Gmail made valid PTR records a requirement for everyone who sends to its users, and it rejects with 550 5.7.25 when the record is missing or does not match. Microsoft and Yahoo check reverse DNS too, though they tend to fold the result into filtering and throttling instead of a dedicated code. Many Postfix servers defer hosts without rDNS with 450 4.7.1.

PTR records are controlled by whoever owns the IP address, not by your domain's DNS host. On a dedicated IP you ask your hosting provider or ESP to set it. On a shared ESP IP the provider should already have done it.

Soft or hard bounce?

Soft bounce (4xx)Hard bounce (5xx)
NatureTemporaryPermanent
Sender behaviourQueue and retry with backoffStop, suppress the address
Reputation riskLow, unless it repeats for daysHigh above a 2% bounce rate
5.7.25✓ this code

Common causes

  • No PTR record exists for the sending IP address.
  • The PTR hostname does not resolve forward to the same IP (FCrDNS failure).
  • The PTR uses a generic ISP-style hostname such as 203-0-113-10.dynamic.example.net.
  • A new server or IP went live before the hosting provider configured reverse DNS.
  • The server sends over IPv6 and the IPv6 address has no PTR record.

How to fix 5.7.25

  1. Look up the PTR for your sending IP with the reverse DNS checker.
  2. Ask the IP owner, usually your hosting provider or ESP, to set a PTR such as mail.example.com.
  3. Create an A (or AAAA) record so that hostname resolves back to the same IP.
  4. Set your server's HELO/EHLO name to the same hostname.
  5. Add PTR records for IPv6 addresses too, or disable IPv6 sending until they exist.
  6. If you send through a shared ESP IP, open a ticket with the ESP; you cannot fix it yourself.
FAQ

5.7.25 questions

What does 550 5.7.25 mean in Gmail?

It means Gmail refused your message because the sending IP has no reverse DNS record, or the record does not match forward DNS. Gmail requires every sender to have valid PTR records. Fix the PTR and matching A record, then resend.

How do I set up a PTR record to fix 5.7.25?

PTR records live with the owner of the IP block, so you request them from your hosting provider, cloud platform or ESP. Choose a hostname in your own domain, point its A record at the IP, and ask for the PTR to return that hostname. Confirm with the reverse DNS checker.

Does 5.7.25 apply to IPv6?

Yes, and it catches many servers off guard. If your server prefers IPv6 for outbound mail, Gmail checks the IPv6 address, which frequently has no PTR at all. Add reverse DNS for the IPv6 range or force outbound mail over IPv4.

Sources

Free · no signup

Stop the bounce at the source.

Most policy and authentication bounces trace back to DNS. Grade your domain A to F and get the exact records to fix.