SENDMAIL(5) File Formats and Configurations SENDMAIL(5)

sendmail, sendmail.cf, submit.cf - sendmail configuration files

/etc/mail/sendmail.cf

/etc/mail/submit.cf

The sendmail.cf and submit.cf files are the configuration files for sendmail(8). 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:

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


# cd /etc/mail/cf/cf
    

2.
Create a copy of the sendmail file for your system.


# cp sendmail.mc `hostname`.mc
    

3.
Edit `hostname`.mc. Make changes suitable for your system and environment.
4.
Run make to generate the configuration file.


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

5.
Copy the newly generated file to its correct location.


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

6.
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:

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


# cd /etc/mail/cf/cf
    

2.
Create a copy of the submit file for your system.


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

3.
Edit submit-`hostname`.mc. Make changes suitable for your system and environment.
4.
Run make to generate the configuration file.


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

5.
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.

The sendmail(8) 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.

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 updates. To prevent an update from clobbering your .cf file, or renaming it to .cf.old, you can set the desired properties instead.

/etc/mail/cf/README
Describes sendmail configuration files.

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Committed

ps(1), make(1S), attributes(7), sendmail(8), svcadm(8)

System Administration Guide: Network Services

May 13, 2017 OmniOS