19.3 The Minimal mc FileEvery mc file requires minimal information. Table 19.2 shows which m4 items are required and also lists two that are recommended.
Note that what is minimally required for a workstation differs from what is minimally required for a central mail server. We recommend that you use these recommendations as a jumping-off point and investigate all the m4 techniques that are available. 19.3.1 OSTYPE()
Support for various operating systems is supplied with the OSTYPE
m4
command. Every
aix2.m4 bsdi1.0.m4 irix4.m4 ptx2.m4 ultrix4.m4 aix3.m4 bsdi2.0.m4 irix5.m4 riscos4.5.m4 unknown.m4 altos.m4 dgux.m4 isc4.1.m4 sco3.2.m4 uxpds.m4 amdahl-uts.m4 domainos.m4 linux.m4 solaris2.m4 aux.m4 dynix3.2.m4 maxion.m4 sunos3.5.m4 bsd4.3.m4 hpux10.m4 nextstep.m4 sunos4.1.m4 bsd4.4.m4 hpux9.m4 osf1.m4 svr4.m4 To include support, select the file that best describes your operating system, delete the .m4 suffix from its name, and include the resulting name in an OSTYPE declaration:
OSTYPE(`ultrix4.1')
Here, support for the DEC Ultrix operating system is defined.
Note that some of these are not entirely accurate. For example,
If you pick a name for which no file exists, or if you misspell the name of the file, an error similar to the following will print:
m4: Can't open ../ostype/ultrux4.1.m4: No such file or directory If you omit the OSTYPE declaration entirely, you will get the following error:
*** ERROR: No system type defined (use OSTYPE macro) 19.3.2 MAILER()Delivery agents are not automatically declared. Instead, you must specify which ones you want to support and which ones to ignore. Support is included by using the MAILER m4 macro:
MAILER(`local')
This causes support for both the Other delivery agents that are recognized by the MAILER() technique are listed in Table 19.3 .
If you use both
New delivery agents can be created by devising a new
Some delivery agent equates, such as
define(`LOCAL_MAILER_PATH', `/usr/local/bin/mail.local') MAILER(local) Note that all modifications to equates must precede the corresponding MAILER() definition. See Section 30.3, "m4 Configuration Syntax" for a complete description of MAILER() and all the ins and outs of using it. Also note that beginning with V8.8, the MAILER_DEFINITIONS m4 command (see Section 19.6.40 ) can be used to force your delivery agent definitions to be grouped with the others. 19.3.3 DOMAIN()For large sites it can be advantageous to gather all configuration decisions that are common to the entire domain into a single file. The directory to hold domain information files is called _CF_DIR_/domain . The configuration information in those files is accessed by using the DOMAIN() m4 technique, for example,
DOMAIN(`uofa.edu') This line in any of your mc files causes the file _CF_DIR_/domain/uofa.edu.m4 to be included at that point. Examples that come with the distribution illustrate subdomains under Berkeley.EDU . One boilerplate file, named generic.m4 , can be used as a starting point for your own domainwide file. For example, if all hosts at your site masquerade behind one email name, you might want to put MASQUERADE_AS (see Section 19.6.42, MASQUERADE-AS ) in your domain file. Domain files also form a natural location for the definition of site-specific relays (see Section 19.4.5, "Relays" ). If the domain that is specified does not exist or is misspelled, an error similar to the following will be printed:
m4: Can't open ../domain/generik.m4: No such file or directory The use of DOMAIN() is not mandatory but is recommended. 19.3.4 FEATURE()V8 sendmail offers a number of features that you may find very useful. To include a feature, include an m4 command like one of the following in your mc file:
FEATURE(
These declarations causes a file of the name
_CF_DIR_/feature/
All the features available are described in detail at the end of this chapter (see Section 19.6, "Alphabetized m4 Macros" ). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|