sendmail

, sendmail.cf

, submit.cf

- sendmail configuration files

Synopsis

/etc/mail/sendmail.cf

/etc/mail/submit.cf

Description

The sendmail.cf and submit.cf files are the configuration files for sendmail(1M). Starting
with version 8.12 of sendmail, which was shipped with version 9 of the
Solaris operating system, two configuration files are used for submission and transmission
of mail, instead of only sendmail.cf, as before. These are:

sendmail.cf

Remains the principal sendmail configuration file. Used for the Mail Transmission Agent (MTA).

submit.cf

Used for the Mail Submission Program (MSP). The MSP is used to submit mail messages. Unlike the MTA, it does not run as an SMTP daemon.

The MSP does not require root privileges, thus the two-file model provides
better security than the pre-sendmail 8.12 model, in which the MSP ran
as a daemon and required root privileges.

In the default sendmail configuration, sendmail uses submit.cf, as indicated in ps(1)
output. In ps output, you will observe two sendmail invocations, such as
the ones below:

/usr/lib/sendmail -Ac -q15m
/usr/lib/sendmail -bd -q15m

The first indicates the use of submit.cf, with the client queue (/var/spool/clientmqueue)
being checked—and, if needed, flushed—every 15 minutes. The second invocation runs sendmail
as a daemon, waiting for incoming SMTP connections.

As shipped, sendmail.cf and, in particular, submit.cf, are appropriate for most environments.
Where a knowledgeable system administrator needs to make a change, he should
use the following procedures.

For sendmail.cf:

Change directories to the directory that contains the source files for the configuration files.

# cd /etc/mail/cf/cf

Create a copy of the sendmail file for your system.

# cp sendmail.mc `hostname`.mc

Edit `hostname`.mc. Make changes suitable for your system and environment.

Run make to generate the configuration file.

# /usr/ccs/bin/make `hostname`.cf

Copy the newly generated file to its correct location.

# cp `hostname`.cf /etc/mail/sendmail.cf

Restart the sendmail service.

# svcadm restart sendmail

You must restart sendmail for sendmail.cf file changes to take effect, as
indicated in step 6. Steps 4 - 6 can be automated. See
Automated Rebuilding of Configuration Files below.

For submit.cf:

Change directories to the directory that contains the source files for the configuration files.

# cd /etc/mail/cf/cf

Create a copy of the submit file for your system.

# cp submit.mc submit-`hostname`.mc

Edit submit-`hostname`.mc. Make changes suitable for your system and environment.

Run make to generate the configuration file.

# /usr/ccs/bin/make submit-`hostname`.cf

Copy the newly generated file to its correct location.

# cp submit-`hostname`.cf /etc/mail/submit.cf

You do not need to restart sendmail for changes to submit.cf to
take effect. Steps 4 and 5 can be automated. See Automated Rebuilding of Configuration Files
below.

Enabling Access to Remote Clients

The sendmail(1M) man page describes how the config/local_only property can be set
to true or false to disallow or allow, respectively, access to remote clients
for unmodified systems.

Automated Rebuilding of Configuration Files

Setting values for the following properties for the service instance svc:/network/smtp:sendmail results
in automated (re)building of configuration files:

path_to_sendmail_mc
path_to_submit_mc

The values for these properties should be strings which represent the path
name of the .mc files referred to in steps 2 and 3
of both procedures above. Recommended values are:

/etc/mail/cf/cf/`hostname`.mc
/etc/mail/cf/cf/submit-`hostname`.mc

Each property, if set, results in the corresponding .mc file being used
to (re)build the matching .cf file when the service is started.

These properties persist across upgrades and patches. To prevent a patch or
upgrade from clobbering your .cf file, or renaming it to .cf.old, you
can set the desired properties instead.