Tech Support

Internet Exchange Frequently Asked Questions

Internet Exchange Messaging Server
SMTPC Mail Routing

Mail Routing Handling
SMTPC is capable of routing Internet messages based on several criteria. The routing options are:

  • Domain Name System (DNS) host name lookup
  • Host Table lookup of destination host
  • DNS followed by Host Table lookup
  • Host Table followed by DNS lookup
  • Delivery to default mail relay host(s)

Mail routing via the DNS is the preferred method for routing messages on the Internet. The DNS is an Internet service that provides for the storage and retrieval of information associated with domain names and routing information. In the context of Internet mail, the records that are of interest are the mail exchanger (MX) records and address (A) records.

MX records are used to store mail forwarder information for hosts registered on the Internet. An MX record contains the name of the host or domain, and a list of one or more mail forwarding hosts as well as the preference values associated with these hosts. The preference values are used by SMTPC to determine the order in which to attempt delivery in case more than one mail forwarder is identified. MX records are essential for the proper routing of mail, especially in situations where the destination host is not physically connected to the Internet and has to rely upon a mail forwarder for mail delivery. As an example, some organizations rely upon the UUCP communications package which comes with the UNIX operating system to physically exchange mail. These sites can, by using MX-records, appear to be connected to the Internet even though mail is the only Internet service they use.

A records, on the other hand, are used to store IP address information for hosts. When configured to use the DNS, SMTPC obtains an MX record for the destination host. If an MX record is found, the list of mail forwarding hosts is used during SMTP connection. If no MX record is found, SMTPC searches for an A record. If an A record is found, then this address is used when the SMTP connection is established.

If SMTPC is configured to use host table lookup, the internal host table, which is usually a text file, is used to determine the IP address of the recipient host. The exact format and path name of the host table depends upon the TCP implementation. The location of the host table is specified when SMTPC is installed. This is the equivalent of doing an A record lookup using the DNS. Most internal host tables, however, cannot provide complete databases, unlike the DNS.    

When configured to use a default mail relay host, all messages are sent to a primary mail forwarder for further routing. If this mail forwarder cannot be contacted for any reason and a secondary mail relay host is defined, Internet Exchange uses the secondary mail relay. In this case, it occasionally checks if and when it is possible to switch back to use the primary relay host. Use of this option improves server throughput, as mail forwarding hosts are usually on the same network as the message server. Response time and throughput are typically fast, resulting in minimal or zero backlog of messages at the server. The use of this option, however, places the burden of routing and retries of delayed messages on the mail forwarding machine(s), which will add to their existing workloads.

The Internet Exchange Messaging Server's SMTPC Module can be configured to use a combination of the above strategies to deliver mail. When not using an email relay, it is recommended to use a strategy where the DNS is consulted first, and then a local host table, in case the attempt to resolve a name with the DNS fails. The opposite configuration can also be used if needed. In any event, if the name cannot be resolved using either of the above methods, SMTPC will fall back to using the mail relay host(s) as the next hop (assuming there is at least one configured), in the hope that resolution can be better handled at that site.