Your PTR Record Is Lying. That’s Why Spamhaus Blocked You.
A 'generic PTR' rejection from Spamhaus means your mail server's reverse DNS doesn't prove ownership, making you look like a spam source.

The 554 bounce message hits your monitoring queue. Outbound mail has stopped. The reason: 'Poor/Bad PTR and rDNS hygiene' from a service like Spamhaus or Barracuda. It feels cryptic, unfair, and completely derails your day.
This isn't just a misconfiguration; it's a fundamental breakdown of trust at the DNS level. Your mail server is claiming an identity it can't prove, and blocklists have no choice but to assume the worst. They aren't just being difficult. They're enforcing a rule of email identity that’s been around for decades: Forward-Confirmed Reverse DNS, or FCrDNS.
Getting this right is not optional. It’s a prerequisite for reliable mail delivery. Let's dissect the error, perform the validation ourselves, and fix it for good.
Unpacking the Rejection Notice
When an ISP or blocklist rejects your email at the SMTP connection stage, they send back a three-digit code and a human-readable string. For PTR issues, you'll typically see a 5xx series code, indicating a permanent failure. The connection is terminated on the spot. No email is queued or retried.
554 203.0.113.123 does not have a valid PTR record. For assistance, see https://www.spamhaus.org/sbl/query/SBLCSS / #SBLCSS
This message is telling you everything you need to know. The receiving mail transfer agent (MTA) performed a reverse DNS lookup on your sending IP address (`203.0.113.123`) and intensely disliked what it saw—or what it didn't see. The SBLCSS listing is Spamhaus's category for IPs that have missing or 'generic' PTR records. It's an automated listing based on DNS hygiene, not on user spam reports. It’s impersonal, and it’s absolute.
The core of the problem isn't just about having *a* PTR record. It's about having one that correctly and uniquely identifies your mail server in a verifiable loop. This is what FCrDNS validation is all about.
The FCrDNS Litmus Test: A Manual Walkthrough
FCrDNS is a two-part validation chain. First, you look up the domain name associated with an IP address. Second, you look up the IP address(es) associated with that domain name. If the IP from the second step matches the original IP from the first step, you have a match. It’s a simple, elegant proof of control.
Let’s run the test manually from a shell. All you need is `dig`. We'll use the IP `203.0.113.123` and the intended hostname `mail.example.com`.
Step 1: The Reverse Lookup (IP -> Hostname)
We use `dig -x` to perform a PTR query. This asks the DNS, "What hostname does this IP address point to?" Notice how the IP is reversed and appended with `.in-addr.arpa`. This is the structure of the reverse DNS zone.
$ dig -x 203.0.113.123 +short
mail.example.com.
A successful result. The reverse DNS system reports that `203.0.113.123` resolves to `mail.example.com`. Halfway there. If this command returns nothing, or returns a generic-looking name like `123.113.0.203.in-addr.arpa.isp-customer.com`, you have failed the test already. This is the 'generic PTR' problem.
Step 2: The Forward Lookup (Hostname -> IP)
Now we complete the loop. We take the result from the first step, `mail.example.com`, and perform a standard forward `A` record lookup. This asks, "What IP address does this hostname point to?"
$ dig mail.example.com A +short
203.0.113.123
The result of the forward lookup is `203.0.113.123`. This matches our original IP address. The chain is complete and confirmed. This server passes FCrDNS. Any other result—a different IP, or no IP at all—breaks the chain and results in a failure. That failure is what lands you on the blocklist.
Why 'Generic' PTRs Are an Immediate Red Flag
So why do blocklists and mail receivers hate generic PTR records? Because they signal a lack of administrative control and intent.
When an ISP or cloud provider allocates an IP address, they often auto-generate a PTR record for it. These records follow a predictable, non-descriptive pattern, like `c-98-228-39-173.hsd1.ca.comcast.net` or `ec2-54-165-132-219.compute-1.amazonaws.com`. They describe the provider's network topology, not the customer using the IP.
To a receiving mail server, a generic PTR suggests the IP is part of a dynamic pool, a cloud server that was just spun up, or a consumer-grade connection. These are statistically far more likely to be the source of spam, either from a compromised machine or a purpose-built spam-bot. Legitimate mail servers are deliberately configured infrastructure. They have names. They have identities.
A custom PTR record like `mail.yourcompany.com` signals that someone took the time to claim that IP and associate it with a specific service and domain. It’s an act of accountability. Failing to set one implies you either don't know you should or don't care. Neither is a good look.
Playbook: Configuring a Proper PTR Record
Here's the most common point of confusion: you do not configure the PTR record where you manage your domain's A, MX, or TXT records. The control of a PTR record belongs to the owner of the IP address block—your ISP or cloud provider.
For On-Premises or Colo Servers
If you have a block of static IPs from a business internet provider, you will almost certainly need to open a support ticket with them. You'll state your sending IP address and the fully qualified domain name (FQDN) you want it to resolve to. For example: "Please set the PTR record for IP `203.0.113.123` to `mail.example.com`." Some providers offer a portal for this, but many still require manual intervention.
Before you file the ticket, make sure the A record for `mail.example.com` already points to `203.0.113.123`. The provider may check this before fulfilling your request. DNS changes can take time to propagate, so be prepared to wait a few hours.
For Cloud-Hosted Servers (AWS, Azure, GCP)
Cloud providers have automated this process. You still don't use your normal DNS service (like Route 53 for A records). Instead, you associate the PTR with the IP resource itself. In AWS, for an Elastic IP, you submit a request to update the reverse DNS. In Azure, you configure the `reverseFqdn` property for your Public IP Address resource. In Google Cloud, you set the PTR record in the Network Services > Cloud DNS section for a given IP.
The principle is the same. The A record must exist first. Then, you instruct the IP owner (the cloud provider) to create the corresponding PTR record. The key is that you're making the request from inside the platform where the IP address is managed.
Getting Delisted and Staying Clean
Once you've confirmed your FCrDNS is working correctly using the `dig` commands from earlier, you can request delisting. Don't request removal until you are 100% certain the fix is in place and has propagated; you only get so many chances.
Go to the blocklist's removal page (the bounce message usually provides a link). Enter your IP and follow the instructions. For Spamhaus, their automated system will re-check your PTR record. If it passes the FCrDNS and 'non-generic' tests, removal is usually instant and automatic. There's often no need to write a long explanation. The DNS data speaks for itself.
After you get confirmation of removal, don't immediately resume full mail flow. Use an external tool—a blacklist checker or reputation lookup service—to verify your IP is clean across multiple lists. Send a few test emails to external accounts (like Gmail or Outlook.com) and inspect the headers to ensure delivery. Once confirmed, you can ramp your mail volume back to normal.
The takeaway
A PTR record isn't just another DNS entry to check off a list. It's the foundational claim of identity for your mail server on the internet. Without a valid, specific, and confirmed reverse DNS entry, you are, for all intents and purposes, anonymous. In the email world, anonymity is indistinguishable from threat.
Fixing FCrDNS isn't just about appeasing Spamhaus. It's about demonstrating professional administration of your mail infrastructure. Once you've established this baseline of trust, you can move on to monitoring the finer points of deliverability and security, like DMARC alignment and ARC validation, with a tool like MailSleuth.AI. But it all starts with proving who you are.
We dissect phishing campaigns and email infrastructure so you don't have to.


