Configuration Files

Sendmail cannot operate without a configuration file. The configuration defines the mail delivery mechanisms understood at this site, how to access them, how to forward email to remote mail systems, and a number of tuning parameters. This configuration file is detailed in the later portion of this document.

The sendmail configuration can be daunting at first. The world is complex, and the mail configuration reflects that. The distribution includes an m4-based configuration package that hides a lot of the complexity.

These configuration files are simpler than old versions largely because the world has become simpler; in particular, text-based host files are officially eliminated, obviating the need to hide hosts behind a registered internet gateway.

These files also assume that most of your neighbors use domain-based UUCP addressing; that is, instead of naming hosts as host!user they will use host.domain!user. The configuration files can be customized to work around this, but it is more complex.

Our configuration files are processed by m4 to facilitate local customization; the directory cf of the sendmail distribution directory contains the source files. This directory contains several subdirectories:

Both site-dependent and site-independent descriptions of hosts. These can be literal host names (e.g., when the hosts are gateways or more general descriptions (such as as a general description of an SMTP-connected host or as a general description of a UUCP-connected host). Files ending .mc (``Master Configuration'') are the input descriptions; the output is in the corresponding .cf file. The general structure of these files is described below.
Site-dependent subdomain descriptions. These are tied to the way your organization wants to do addressing. For example, domain/ is our description for hosts in the CS.Berkeley.EDU subdomain that want their individual hostname to be externally visible; domain/cs.hidden.m4 is the same except that the hostname is hidden (everything looks like it comes from CS.Berkeley.EDU). These are referenced using the m4 macro in the .mc file.
Definitions of specific features that some particular host in your site might want. These are referenced using the m4 macro. An example feature is use_cw_file (which tells sendmail to read an /etc/ file on startup to find the set of local names).
Local hacks, referenced using the m4 macro. Try to avoid these. The point of having them here is to make it clear that they smell.
Site-independent m4(1) include files that have information common to all configuration files. This can be thought of as a #include directory.
Definitions of mailers, referenced using the m4 macro. The mailer types that are known in this distribution are fax, local, smtp, uucp, and usenet. For example, to include support for the UUCP-based mailers, use MAILER(uucp).
Definitions describing various operating system environments (such as the location of support files). These are referenced using the m4 macro.
Shell files used by the m4 build process. You shouldn't have to mess with these.
Local site configuration information, such as UUCP connectivity. They normally contain lists of site information, for example:
They are referenced using the SITECONFIG macro:
SITECONFIG(site.config.file, name_of_site, X)
where X is the macro/class name to use. It can be U (indicating locally connected hosts) or one of W, X, or Y for up to three remote UUCP hubs.

If you are in a new domain (e.g., a company), you will probably want to create a cf/domain file for your domain. This consists primarily of relay definitions: for example, Berkeley's domain definition defines relays for BitNET, CSNET, and UUCP. Of these, only the UUCP relay is particularly specific to Berkeley. All of these are internet-style domain names. Please check to make certain they are reasonable for your domain.

Subdomains at Berkeley are also represented in the cf/domain directory. For example, the domain cs-exposed is the Computer Science subdomain with the local hostname shown to other users; cs-hidden makes users appear to be from the CS.Berkeley.EDU subdomain (with no local host information included). You will probably have to update this directory to be appropriate for your domain.

You will have to use or create .mc files in the cf/cf subdirectory for your hosts. This is detailed in the cf/README file.

[Contents] [Previous] [Next]

Questions or problems regarding this web site should be directed to Steve Gielda.
Copyright 1999  All rights reserved.
Last modified: Friday April 02, 1999.