all guides

// how to fix

"450 4.7.1 Client host rejected: cannot find your hostname" (or "reverse hostname"): how to fix it

The receiving server could not match your IP to a hostname. Fix the reverse DNS (PTR) and its matching A record to stop this bounce.

What it means

The server receiving your email looked up the name of your sending IP address and did not like the answer. These messages come from Postfix, a very common mail server:

450 4.7.1 Client host rejected: cannot find your hostname, [203.0.113.10]

450 4.7.1 Client host rejected: cannot find your reverse hostname, [203.0.113.10]

Some administrators make this refusal permanent, and you get a 550 5.7.1 Client host rejected code instead of 450.

A 450 code is temporary: your server will retry for a while. But if nothing changes on your side, the retries will fail and the email will eventually bounce.

The two wordings are slightly different:

  • "cannot find your reverse hostname": your IP has no PTR record at all. A PTR record is the name attached to an IP address, a kind of reverse phone book.
  • "cannot find your hostname": a stricter test. The IP has a PTR name, but that name does not point back to the same IP, or it does not resolve at all. This check is called forward-confirmed reverse DNS (FCrDNS).

The error can also appear when DNS lookups fail temporarily, for example if your provider's reverse DNS servers are down.

Why it matters

Real mail servers almost always have a correct name. Infected home computers and spam bots usually do not. Many receivers, including big providers, use this test to block a lot of spam cheaply. Without a correct reverse DNS, you will also see more spam filtering, even where you are not refused outright.

How to check

  1. Run a Delivmail test. From the same server, send an email to the unique address on the home page (/). The report shows your sending IP, its PTR name, and whether that name points back to the IP. It also shows the HELO name your server announced.
  2. Look up the IP on /blacklists: the result also shows its reverse DNS name.
  3. From a command line, you can check it yourself:
    dig -x 203.0.113.10 +short
    mail.yourdomain.com.
    dig mail.yourdomain.com A +short
    203.0.113.10
    The first command gives the PTR name. The second must give back the same IP.

How to fix it

  1. Find who controls the PTR. Reverse DNS is managed by the owner of the IP: your hosting company, VPS provider or internet provider. It is not set in your domain's DNS zone. Look for "reverse DNS", "rDNS" or "PTR" in their control panel, or ask support.
  2. Choose a name on your own domain, for example mail.yourdomain.com, and set it as the PTR of the sending IP.
  3. Create the A record. In your domain's DNS, make mail.yourdomain.com point to that same IP. Without this, you will still get "cannot find your hostname". For IPv6, do the same with an AAAA record and the IPv6 PTR.
  4. Match the HELO name. Configure your mail server to introduce itself with the same name (in Postfix, myhostname). It is not checked by this rule, but many other filters compare it.
  5. Check which IP really sends. A server with several IPs, or with IPv6 enabled, may send from an address you did not fix. The Delivmail report shows the IP actually used.

If you cannot set a PTR

Home and office connections usually do not allow it. In that case, do not send directly: relay your mail through your email provider's outgoing server or a sending service, which already has proper names.

Check that it is fixed

PTR changes can take from a few minutes to a few hours to be visible everywhere. Send a new Delivmail test: the reverse DNS section should show your new name and confirm it points back to the IP. Then resend the email that bounced, or let your server retry the messages still waiting in its queue.

Check that it is fixed

DNS changes can take from a few minutes to a few hours. Then send a new test email or scan your domain again.

Related guides