cf/README for sendmail 8.12.3

Eric Allman of the Sendmail Consortium

OSTYPE

You must define an operating system environment, or the configuration file build will puke.

There are several environments available; look at the "ostype" directory for the current list. This macro changes things like the location of the alias file and queue directory. Some of these files are identical to one another.

It is IMPERATIVE that the OSTYPE occur before any MAILER definitions. In general, the OSTYPE macro should go immediately after any version information, and MAILER definitions should always go last.

Operating system definitions are usually easy to write. They may define the following variables (everything defaults, so an ostype file may be empty). Unfortunately, the list of configuration-supported systems is not as broad as the list of source-supported systems, since many of the source contributors do not include corresponding ostype files.

MacroDescription
ALIAS_FILE [/etc/mail/aliases] The location of the text version of the alias file(s). It can be a comma-separated list of names (but be sure you quote values with commas in them -- for example, use define(`ALIAS_FILE', `a,b') to get "a" and "b" both listed as alias files; otherwise the define() primitive only sees "a").
HELP_FILE [/etc/mail/helpfile] The name of the file containing information printed in response to the SMTP HELP command.
QUEUE_DIR [/var/spool/mqueue] The directory containing queue files. To use multiple queues, supply a value ending with an asterisk. For example, /var/spool/mqueue/qd* will use all of the directories or symbolic links to directories beginning with 'qd' in /var/spool/mqueue as queue directories. The names 'qf', 'df', and 'xf' are reserved as specific subdirectories for the corresponding queue file types as explained in doc/op/op.me. See also Queue Group Definitions.
MSP_QUEUE_DIR [/var/spool/clientmqueue] The directory containing queue files for the MSP (Mail Submission Program, see sendmail/SECURITY).
STATUS_FILE [/etc/mail/statistics] The file containing status information.
LOCAL_MAILER_PATH [/bin/mail] The program used to deliver local mail.
LOCAL_MAILER_FLAGS [Prmn9] The flags used by the local mailer. The flags lsDFMAw5:/|@q are always included.
LOCAL_MAILER_ARGS [mail -d $u] The arguments passed to deliver local mail.
LOCAL_MAILER_MAX [undefined] If defined, the maximum size of local mail that you are willing to accept.
LOCAL_MAILER_MAXMSGS [undefined] If defined, the maximum number of messages to deliver in a single connection. Only useful for LMTP local mailers.
LOCAL_MAILER_CHARSET [undefined] If defined, messages containing 8-bit data that ARRIVE from an address that resolves to the local mailer and which are converted to MIME will be labeled with this character set.
LOCAL_MAILER_EOL [undefined] If defined, the string to use as the end of line for the local mailer.
LOCAL_MAILER_DSN_DIAGNOSTIC_CODE [X-Unix] The DSN Diagnostic-Code value for the local mailer. This should be changed with care.
LOCAL_SHELL_PATH [/bin/sh] The shell used to deliver piped email.
LOCAL_SHELL_FLAGS [eu9] The flags used by the shell mailer. The flags lsDFM are always included.
LOCAL_SHELL_ARGS [sh -c $u] The arguments passed to deliver "prog" mail.
LOCAL_SHELL_DIR [$z:/] The directory search path in which the shell should run.
LOCAL_MAILER_QGRP [undefined] The queue group for the local mailer.
USENET_MAILER_PATH [/usr/lib/news/inews] The name of the program used to submit news.
USENET_MAILER_FLAGS [rsDFMmn] The mailer flags for the usenet mailer.
USENET_MAILER_ARGS [-m -h -n] The command line arguments for the usenet mailer.
NOTE: Some versions of inews (such as those shipped with newer versions of INN) use different flags. Double check the defaults against the inews man page.
USENET_MAILER_MAX [100000] The maximum size of messages that will be accepted by the usenet mailer.
USENET_MAILER_QGRP [undefined] The queue group for the usenet mailer.
SMTP_MAILER_FLAGS [undefined] Flags added to SMTP mailer. Default flags are `mDFMuX' for all SMTP-based mailers; the "esmtp" mailer adds `a'; "smtp8" adds `8'; and "dsmtp" adds `%'.
RELAY_MAILER_FLAGS [undefined] Flags added to the relay mailer. Default flags are `mDFMuX' for all SMTP-based mailers; the relay mailer adds `a8'. If this is not defined, then SMTP_MAILER_FLAGS is used.
SMTP_MAILER_MAX [undefined] The maximum size of messages that will be transported using the smtp, smtp8, esmtp, or dsmtp mailers.
SMTP_MAILER_MAXMSGS [undefined] If defined, the maximum number of messages to deliver in a single connection for the smtp, smtp8, esmtp, or dsmtp mailers.
SMTP_MAILER_MAXRCPTS [undefined] If defined, the maximum number of recipients to deliver in a single connection for the smtp, smtp8, esmtp, or dsmtp mailers.
SMTP_MAILER_ARGS [TCP $h] The arguments passed to the smtp mailer. About the only reason you would want to change this would be to change the default port.
ESMTP_MAILER_ARGS [TCP $h] The arguments passed to the esmtp mailer.
SMTP8_MAILER_ARGS [TCP $h] The arguments passed to the smtp8 mailer.
DSMTP_MAILER_ARGS [TCP $h] The arguments passed to the dsmtp mailer.
RELAY_MAILER_ARGS [TCP $h] The arguments passed to the relay mailer.
SMTP_MAILER_QGRP [undefined] The queue group for the smtp mailer.
ESMTP_MAILER_QGRP [undefined] The queue group for the esmtp mailer.
SMTP8_MAILER_QGRP [undefined] The queue group for the smtp8 mailer.
DSMTP_MAILER_QGRP [undefined] The queue group for the dsmtp mailer.
RELAY_MAILER_QGRP [undefined] The queue group for the relay mailer.
RELAY_MAILER_MAXMSGS [undefined] If defined, the maximum number of messages to deliver in a single connection for the relay mailer.
SMTP_MAILER_CHARSET [undefined] If defined, messages containing 8-bit data that ARRIVE from an address that resolves to one of the SMTP mailers and which are converted to MIME will be labeled with this character set.
UUCP_MAILER_PATH [/usr/bin/uux] The program used to send UUCP mail.
UUCP_MAILER_FLAGS [undefined] Flags added to UUCP mailer. Default flags are `DFMhuU' (and `m' for uucp-new mailer, minus `U' for uucp-dom mailer).
UUCP_MAILER_ARGS [uux - -r -z -a$g -gC $h!rmail ($u)] The arguments passed to the UUCP mailer.
UUCP_MAILER_MAX [100000] The maximum size message accepted for transmission by the UUCP mailers.
UUCP_MAILER_CHARSET [undefined] If defined, messages containing 8-bit data that ARRIVE from an address that resolves to one of the UUCP mailers and which are converted to MIME will be labeled with this character set.
UUCP_MAILER_QGRP [undefined] The queue group for the UUCP mailers.
FAX_MAILER_PATH [/usr/local/lib/fax/mailfax] The program used to submit FAX messages.
FAX_MAILER_ARGS [mailfax $u $h $f] The arguments passed to the FAX mailer.
FAX_MAILER_MAX [100000] The maximum size message accepted for transmission by FAX.
POP_MAILER_PATH [/usr/lib/mh/spop] The pathname of the POP mailer.
POP_MAILER_FLAGS [Penu] Flags added to POP mailer. Flags lsDFMq are always added.
POP_MAILER_ARGS [pop $u] The arguments passed to the POP mailer.
POP_MAILER_QGRP [undefined] The queue group for the pop mailer.
PROCMAIL_MAILER_PATH [/usr/local/bin/procmail] The path to the procmail program. This is also used by FEATURE(`local_procmail').
PROCMAIL_MAILER_FLAGS [SPhnu9] Flags added to Procmail mailer. Flags DFM are always set. This is NOT used by FEATURE(`local_procmail'); tweak LOCAL_MAILER_FLAGS instead.
PROCMAIL_MAILER_ARGS [procmail -Y -m $h $f $u] The arguments passed to the Procmail mailer. This is NOT used by FEATURE(`local_procmail'); tweak LOCAL_MAILER_ARGS instead.
PROCMAIL_MAILER_MAX [undefined] If set, the maximum size message that will be accepted by the procmail mailer.
PROCMAIL_MAILER_QGRP [undefined] The queue group for the procmail mailer.
MAIL11_MAILER_PATH [/usr/etc/mail11] The path to the mail11 mailer.
MAIL11_MAILER_FLAGS [nsFx] Flags for the mail11 mailer.
MAIL11_MAILER_ARGS [mail11 $g $x $h $u] Arguments passed to the mail11 mailer.
MAIL11_MAILER_QGRP [undefined] The queue group for the mail11 mailer.
PH_MAILER_PATH [/usr/local/etc/phquery] The path to the phquery program.
PH_MAILER_FLAGS [ehmu] Flags for the phquery mailer. Flags nrDFM are always set.
PH_MAILER_ARGS [phquery -- $u] -- arguments to the phquery mailer.
PH_MAILER_QGRP [undefined] The queue group for the ph mailer.
CYRUS_MAILER_FLAGS [Ah5@/:|] The flags used by the cyrus mailer. The flags lsDFMnPq are always included.
CYRUS_MAILER_PATH [/usr/cyrus/bin/deliver] The program used to deliver cyrus mail.
CYRUS_MAILER_ARGS [deliver -e -m $h -- $u] The arguments passed to deliver cyrus mail.
CYRUS_MAILER_MAX [undefined] If set, the maximum size message that will be accepted by the cyrus mailer.
CYRUS_MAILER_USER [cyrus:mail] The user and group to become when running the cyrus mailer.
CYRUS_MAILER_QGRP [undefined] The queue group for the cyrus mailer.
CYRUS_BB_MAILER_FLAGS [u] The flags used by the cyrusbb mailer. The flags lsDFMnP are always included.
CYRUS_BB_MAILER_ARGS [deliver -e -m $u] The arguments passed to deliver cyrusbb mail.
confEBINDIR [/usr/libexec] The directory for executables. Currently used for FEATURE(`local_lmtp') and FEATURE(`smrsh').
QPAGE_MAILER_FLAGS [mDFMs] The flags used by the qpage mailer.
QPAGE_MAILER_PATH [/usr/local/bin/qpage] The program used to deliver qpage mail.
QPAGE_MAILER_ARGS [qpage -l0 -m -P$u] The arguments passed to deliver qpage mail.
QPAGE_MAILER_MAX [4096] If set, the maximum size message that will be accepted by the qpage mailer.
QPAGE_MAILER_QGRP [undefined] The queue group for the qpage mailer.
LOCAL_PROG_QGRP [undefined] The queue group for the prog mailer.

Note:
to tweak Name_MAILER_FLAGS use the macro MODIFY_MAILER_FLAGS:

MODIFY_MAILER_FLAGS(`Name', `change')

where Name is the first part of the macro Name_MAILER_FLAGS and change can be: flags that should be used directly (thus overriding the default value), or if it starts with `+' (`-') then those flags are added to (removed from) the default value.
Example:

MODIFY_MAILER_FLAGS(`LOCAL', `+e')

will add the flag `e' to LOCAL_MAILER_FLAGS. Notice: there are several smtp mailers all of which are manipulated individually. See the section MAILERS for the available mailer names.

WARNING: The FEATUREs local_lmtp and local_procmail set LOCAL_MAILER_FLAGS unconditionally, i.e., without respecting any definitions in an OSTYPE setting.