sendmail imposes various requirements on name services. To improve your understanding of these requirements, this section first describes the relationship of mail domains to name service domains. Then the section describes the various requirements. Refer to the following.
The mail domain name must be a suffix of the name service domain. For example, if the domain name of the name service is A.B.C.D, the mail domain name could be one of the following.
When first established, the mail domain name is often identical to the name service domain. As the network grows, the name service domain can be divided into smaller pieces to make the name service more manageable. However, the mail domain often remains undivided to provide consistent aliasing.
This section describes the requirements that sendmail imposes on name services.
A host table or map in a name service must be set up to support three types of gethostbyname() queries.
mailhost – Some name service configurations satisfy this requirement automatically.
Full host name (for example, smith.admin.example.com) – Many name service configurations satisfy this requirement.
Short host name (for example, smith) – sendmail must connect to the mail host in order to forward external mail. To determine if a mail address is within the current mail domain, gethostbyname() is invoked with the full host name. If the entry is found, the address is considered internal.
NIS and DNS support gethostbyname() with a short host name as an argument, so this requirement is automatically satisfied.
Two additional rules about the host name service need to be followed to establish efficient sendmail services within a name service.
gethostbyname() with full host-name argument and short host-name argument should yield consistent results. For example, gethostbyname(smith.admin.example.com) should return the same result as gethostbyname(smith), if both functions are called from the mail domain admin.example.com.
For all name service domains under a common mail domain, gethostbyname() with a short host name should yield the same result. For example, if the mail domain smith.admin.example.com is given, gethostbyname(smith) should return the same result when the call originates from either the ebb.admin.example.com domain or the esg.admin.example.com domain. The mail domain name is usually shorter than the name service domain, which gives this requirement special implications for various name services.
For more information about the gethostbyname() function, refer to the gethostbyname(3NSL) man page.