Reverse DNS the reason the Mails are rejected

bindemailreverse-dns

Since I switched ISP I'm having quite some problems with my mail. Sometimes mails will be rejected by the receiving side with the following message:

This is the mail system at host mail.xyz.ch.

I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.

For further assistance, please send mail to postmaster.

If you do so, please include this problem report. You can
delete your own text from the attached returned message.

The mail system

Action: failed
Status: 5.7.1
Remote-MTA: dns; postrelay2.lrz-muenchen.de
Diagnostic-Code: smtp; 550 5.7.1 Client host rejected: cannot find your
hostname, [213.xxx.yyy.zzz]]

So apparently the receiving side of the communication is complaining that it could not find the hostname mail.xyz.ch in the reverse DNS lookup.

Now I'm sure that I configured all the PTR entries in bind to point to the real hostnames:

;
; BIND reverse data file for broadcast zone
;
$TTL    604800
@   IN  SOA dns3.xyz.ch. root.xyz.ch. (
               20100328     ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL
;
                NS      dns3.xyz.ch.
                 NS      dns2.xyz.ch.

129             PTR     ssh.xyz.ch.
129             PTR     www.xyz.ch.
129             PTR     mail.xyz.ch.

But a reverse DNS lookup still only provides the the ISP name: cust.static.213-xxx-yyy-zzz.swisscomdata.ch.

Any idea on how to fix this? Do I have to contact my ISP?

Best Answer

Typically the reverse DNS for the IP is managed by the ISP. This is not strictly speaking a guarantee, but I would be highly surprised if you were actually in charge of the reverse DNS record in this case. Generally speaking, a company purchases the use of those IPs from the ISP and as such, they maintain all IP specific records, including reverse DNS. Basically, whoever looks at your BIND database for DNS will see the record fine but assuming that is not the public authoritative DNS server for your domain setting the record there does you little to no good.

The short version - yeah you need to contact your ISP and ask them to change the record