Learn why you need a PTR record if you run an internal mail server.
You may have come to this because you've been told that you need
a PTR record to avoid rejections from sites like AOL and others.
You may have thought that you can add your own PTR record. You
A PTR record (sometimes called a "host PTR record") is what lets someone do a "reverse" DNS lookup -
that is, they have your IP address and want to know what your
host/domain is. At any Unix/Linux command line, you can use "dig
-x" to do a reverse lookup:
Not every IP address has a corresponding PTR record. In fact, if
you took a random sampling of addresses your firewall blocked
because they were up to no good, you'd probably find most have no
PTR record - a dig -x gets you no information. That's also apt to
be true for mail spammers, or their PTR doesn't match up: if you do
a dig -x on their IP you get a result, but if you look up that
result you might not get the same IP you started with.
That's why PTR records have become important. Originally, PTR
records were just intended as a convenience, and perhaps as a way
to be neat and complete. There still are no requirements that you
have a PTR record or that it be accurate, but because of the abuse
of the internet by spammers, certain conventions have grown up. For
example, you may not be able to send email to some sites if you
don't have a valid PTR record, or if your pointer is "generic":
Typically, the reason you get refused is because the "generic"
pointer doesn't have an MX (mail exchange record):
This is technically inaccurate if your inbound and outbound servers are different. It's the outbound (the one that is connecting to other machines) - that needs the reverse lookup. For most small businesses, these are the same. It's perhaps more accurate to say (as a commenter did below) the PTR record should match the SMTP response on port 25 when the receiving server sends back a verification check.. However, it is usually only necessary that the record exist and not contain "in-addr.arpa". See the comments below.
How do you get a PTR record? You might think that this is done
by your domain registrar - after all, they point your domain to an
IP address. Or you might think whoever handles your DNS would do
this. But the PTR record isn't up to them, it's up to the ISP that
"owns" the IP block it came from. They are the ones who need to
create the PTR record. In some cases, that may be the same folks
who handle your DNS, but the point is that it is not necessarily
so: you may have no control over this whatsoever. See RFC 2317.
If you don't have a PTR record, and can't get one (for example
because you have a dynamic address), you will want to send outgoing
email through a server that does. Your INCOMING server doesn't need
a PTR record - you can use a dynamically assigned IP address for a
mail server as long as you have some way of updating your MX record when
your IP changes. And it isn't that you can't send SMTP mail out
from such a server (although some ISP's do block outgoing SMTP to
any but their own server); it's just that some recipients may block
you because you don't have that PTR record or because it doesn't
match up wth an MX record for you.
Usually, you'll use your ISP's SMTP server as your "delegate"
server - that can be done at your internal mail server or at the
client machines ("Outgoing SMTP Server"). However, assuming that
you aren't blocked for outgoing SMTP, you can use any server that
"likes" you - that is, any server that will allow your IP address
to relay mail through it. That's probably going to be another
server under your control, or someone who knows you - there are few
servers left that will let just anyone use them as a mail
There are two other DNS records that can be helpful in getting your
mail through: Caller-ID and SPF. These are records you can add to your
own dNS and they help prevent people masquerading as your mail server. Servers
that check these records (not all do) know when it really is your server
that sent the mail; it is therefore less likely to be refused.
See Kerio Spam Control: Caller-ID and SPF for more details.