What is an MX record in DNS entries?

Posted on in Categories , , last updated May 14, 2007

Q. I see MX record in DNS configuration file. Can you explain the usage of MX record?

A. AN MX is short form for Mail exchanger record. The Domain Name System (DNS) stores and associates many types of information with domain names including
=> IP address
=> Host aliases
=> Email server address etc

DNS server is a general-purpose distributed, replicated, data query service chiefly used on Internet for translating hostnames into Internet addresses such as www.yahoo.com into 66.94.234.13 or vise-versa.

a) To specify IP address you need to use A record.

b) To specify Email server IP you need to use an MX record. With MX record Internet e-mail should be routed. MX records point to the servers that should receive an e-mail, and their priority relative to each other. Consider following DNS zone file for gite.in domain:

@  IN SOA gite.in (
                          2007020704     ; Serial
                          3600           ; Refresh
                          300            ; Retry
                          604800         ; Expire
                          3600           ; Minimum
                        )


   @                      86400    IN ns    ns1.gite.in.
   @                      86400    IN ns    ns2.gite.in.

   @                      86400    IN a     75.126.43.232
   www                    86400    IN a     75.126.43.232
   mx1                    86400    IN a     75.126.43.233
   mx2                    86400    IN a     75.126.43.234
   ns1                    86400    IN a     75.126.43.233
   ns2                    86400    IN a     75.126.43.234

   mail.gite.in           86400    IN cname mail.cyberciti.biz.

10 @                      604800   IN mx    mx1.gite.in.
20 @                      604800   IN mx    mx2.gite.in.

Last two line define an MX recored for gite.in mail server. So if someone send an email to [email protected] it will be first routed to mail server called mx1.gite.in. If mx1 failed to accept an email, it will routed to 2nd mail server mx2.gite.in.

The relative priority of an MX server is determined by the preference number present in the DNS MX record. When a remote client (typically another mail server) does an MX lookup for the domain name, it gets a list of servers and their preference numbers. The MX record with the smallest preference number has the highest priority and is the first server to be tried. The remote client will go up the list of servers until it successfully delivers the message or gets permanently rejected due to an unreachable server or if the mail account does not exist on that server. If there is more than one entry with the same preference number, all of those must be tried before moving on to lower-priority entries.

See also

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

4 comment

Leave a Comment