When Gmail returns 4.7.23 or 5.7.25, the problem is usually narrower than it first appears. This is not a generic “your reputation is bad” message. It is Gmail complaining that the sending IP does not have acceptable reverse DNS, or that the reverse DNS does not map back cleanly to the same public IP.
That requirement applies to both IPv4 and IPv6 senders. And for IPv6, Google also calls out a related block message about IPv6 PTR records and authentication, which is why dual-stack senders need to check both address families instead of assuming the IPv4 setup covers everything.
Google documents this in its Email sender guidelines, the newer Email sender guidelines FAQ, and the live Gmail SMTP errors and codes reference.
If you want the practical fix first, it is this:
A for IPv4 or AAAA for IPv6If any of those checks fail, Gmail has a good reason to keep deferring or blocking the mail.
4.7.23 and 5.7.25 actually meanGoogle's wording is fairly direct:
4.7.23 is a temporary rate limit because the sending IP does not have a PTR record, or the PTR record's forward DNS entry does not match the sending IP5.7.25 is the harder version of the same problem: Gmail is blocking the message because the sending IP does not have acceptable PTR / forward DNS setupSo the 4xx versus 5xx distinction matters here just like it does for Gmail's authentication errors:
4.7.23 means “fix this, then try again later”5.7.25 means Gmail is done waiting and is blocking the trafficThe underlying defect is still basically the same class of issue.
Google's sender guidelines describe two linked checks:
That second part is the part many teams miss.
Having some PTR record is not enough. Gmail wants forward-confirmed reverse DNS. In plain English: reverse lookup from IP to hostname, then forward lookup from hostname back to the same IP.
Example of a healthy IPv4 setup:
192.0.2.25 -> mail-out.example.com
mail-out.example.com -> 192.0.2.25Example of a healthy IPv6 setup:
2001:db8:100::25 -> mail6.example.com
mail6.example.com -> 2001:db8:100::25Example of a broken setup that triggers Gmail complaints:
192.0.2.25 -> oldhost.example.net
oldhost.example.net -> 198.51.100.44That is exactly the kind of mismatch Gmail is talking about.
PTR failures are common because reverse DNS is not managed in the same place as your normal domain zone.
For many senders, the A, AAAA, MX, SPF, DKIM, and DMARC records live in the organization's DNS provider, but the PTR record is controlled by:
If someone else owns the IP allocation, that provider usually has to create or change the PTR record. Adding records only in your normal domain DNS zone will not fix the reverse side by itself.
This is why admins sometimes insist “DNS is correct” while Gmail still returns 4.7.23 or 5.7.25. The forward zone was updated, but the reverse zone for the actual sending IP was never changed.
Dual-stack environments create a predictable trap: IPv4 is configured cleanly, but IPv6 is half-finished or inherited from the host provider.
Google's sender guidelines explicitly say that for IPv6 authorization errors, the PTR record for the sending server may not be using IPv6 correctly. Its SMTP error reference also includes this separate IPv6 block text:
550 5.7.1 This message does not meet IPv6 sending guidelines regarding PTR records and authentication.Operationally, that means:
AAAAIf mail leaves from both address families, you need both of these to be true:
AAAAAThis order usually finds the problem quickly.
Do not assume the documented relay is the real egress host. Check the MTA logs, provider logs, or a Gmail SMTP reply that includes the source IP.
This matters especially when:
Use the Google Admin Toolbox Dig tool or another DNS tool and query the PTR for the real sending IP.
What you want to see is a stable hostname, not no answer and not a generic provider placeholder you did not intend to send with.
Once you have the PTR hostname, look up that hostname forward:
A for IPv4AAAA for IPv6The result should point back to the same public sending IP.
A lot of Gmail PTR problems come from infrastructure drift:
The DNS records may all exist, but they no longer describe the real path used in production.
After correcting PTR or forward DNS, send a fresh test message to Gmail and watch whether the error changes from hard block to temporary deferral, or disappears entirely.
If the PTR problem is gone but mail is still failing, the next likely checks are authentication and alignment. Gmail bulk sender error codes explained is the natural follow-up at that point.
Here are the failure modes seen most often.
The IP simply has no reverse record.
Result: Gmail treats the sending host as under-identified and may return 4.7.23 or 5.7.25.
Example:
2001:db8:100::25 -> vps-25.provider.invalidThat may be technically present, but it may still be the wrong identity for production outbound mail, especially if the hostname does not resolve back properly or reflects a stale assignment.
This is the classic forward-confirmed reverse DNS failure.
Example:
192.0.2.25 -> mail.example.com
mail.example.com -> 192.0.2.99Everything looks named, but the identity chain is broken.
This one catches teams during migrations or when enabling IPv6 on the host without fully preparing outbound mail.
If the MTA connects over IPv6, Gmail judges the IPv6 address. A correct IPv4 PTR does not rescue a broken IPv6 path.
If your provider owns the sending IP, you usually cannot fix this locally. You need the provider to correct the reverse DNS or move you to a correctly configured sending IP.
PTR is important, but it does not replace message authentication.
You still need SPF, DKIM, and for bulk sender traffic to personal Gmail accounts, DMARC as Google requires. PTR tells Gmail the server IP has a sane network identity. It does not prove the message is authorized for the visible sender domain.
So it is possible to fix 4.7.23 or 5.7.25 and then run directly into:
4.7.27 / 5.7.27 for SPF failure4.7.30 / 5.7.30 for DKIM failure4.7.32 / 5.7.32 for DMARC alignment failureIf those concepts are mixed together in your current troubleshooting, DMARC troubleshooting with real headers and Return-Path vs From: practical implications help separate them cleanly.
Use this when the goal is just to get Gmail accepting the traffic again.
A or AAAAGmail's 4.7.23 and 5.7.25 errors are usually about one thing: the sending IP does not have a trustworthy reverse-DNS identity chain.
For IPv4, that means PTR plus matching forward A. For IPv6, that means PTR plus matching forward AAAA, and it also means checking whether your MTA is silently preferring IPv6 for delivery to Gmail.
Once the real sending IP is identified and both sides of the DNS mapping are corrected, these failures are often much easier to clear than broader reputation problems.