Thanks to our special friend SPAM, SMTP servers have special requirements. If you are setting up an STMP server, such as Exim, Postfix, or qmail, make sure to have these factors setup correctly:

  • Static IP
  • SMTP server host name DNS entry
  • Reverse DNS entry, aka PTR record, for the static IP
  • Matching server name announcement from the SMTP server itself - note bene - the server name announcement must match the reverse DNS entry

Here’s the actual steps to confirm the DNS and server name components using “dig” and telnet. I perform these steps on a semi-regular schedule for my primary SMTP server, vpn-glass.savonix.com.

Static IP for SMTP Domain Record

dig vpn-glass.savonix.com @4.2.2.1

; <<>> DiG 9.7.1-P2 <<>> vpn-glass.savonix.com @4.2.2.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;vpn-glass.savonix.com.		IN	A

;; ANSWER SECTION:
vpn-glass.savonix.com.	28800	IN	A	71.184.118.13

;; Query time: 138 msec
;; SERVER: 4.2.2.1#53(4.2.2.1)
;; WHEN: Fri Jan 28 23:05:52 2011
;; MSG SIZE  rcvd: 55

Reverse DNS Lookup


dig -x 71.184.118.13

; <<>> DiG 9.7.1-P2 <<>> -x 71.184.118.13
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43033
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 0

;; QUESTION SECTION:
;13.118.184.71.in-addr.arpa.	IN	PTR

;; ANSWER SECTION:
13.118.184.71.in-addr.arpa. 86400 IN	PTR	vpn-glass.savonix.com.

SMTP Server Name Announcement

telnet 71.184.118.13 587
Trying 71.184.118.13...
Connected to 71.184.118.13.
Escape character is '^]'.
220 vpn-glass.savonix.com ESMTP Postfix (Debian/GNU)

Yay! Postfix knows its own name, and DNS publishes the correct name for both the hostname and the IP address!!