NAME
rc.sendmail —
sendmail(8) startup script
DESCRIPTION
Therc.sendmail script is used by
/etc/rc at boot time to start
sendmail(8). It is meant to be
sendmail(8) specific and not a generic script for all MTAs. It is only
called by /etc/rc if the
rc.conf(5) mta_start_script variable is set to
/etc/rc.sendmail.
The rc.sendmail script can take an
optional argument specifying the action to perform. The available actions
are:
start- Starts both the MTA and the MSP queue runner.
stop- Stops both the MTA and the MSP queue runner.
restart- Restarts both the MTA and the MSP queue runner.
start-mta- Starts just the MTA.
stop-mta- Stops just the MTA.
restart-mta- Restarts just the MTA.
start-mspq- Starts just the MSP queue runner.
stop-mspq- Stops just the MSP queue runner.
restart-mspq- Restarts just the MSP queue runner.
If no action is specified, start is
assumed.
The rc.sendmail script is also used by
/etc/mail/Makefile to enable the
Makefile's start,
stop, and restart
targets.
RC.CONF VARIABLES
The following variables affect the behavior of
rc.sendmail. They are defined in
/etc/defaults/rc.conf and can be changed in
/etc/rc.conf.
- sendmail_enable
- (str) If set to
“
YES”, run the sendmail(8) daemon at system boot time. If set to “NO”, do not run a sendmail(8) daemon to listen for incoming network mail. This does not preclude a sendmail(8) daemon listening on the SMTP port of the loopback interface. The “NONE” option is deprecated and should not be used. It will be removed in a future release. - sendmail_flags
- (str) If sendmail_enable is
set to “
YES”, these are the flags to pass to the sendmail(8) daemon. - sendmail_submit_enable
- (bool) If set to
“
YES” and sendmail_enable is set to “NO”, run sendmail(8) using sendmail_submit_flags instead of sendmail_flags. This is intended to allow local mail submission via a localhost-only listening SMTP service required for running sendmail(8) as a non-set-user-ID binary. Note that this does not work inside jail(2) systems, as jails do not allow binding to just the localhost interface. - sendmail_submit_flags
- (str) If sendmail_enable is
set to “
NO” and sendmail_submit_enable is set to “YES”, these are the flags to pass to the sendmail(8) daemon. - sendmail_outbound_enable
- (bool) If set to
“
YES” and both sendmail_enable and sendmail_submit_enable are set to “NO”, run sendmail(8) using sendmail_outbound_flags instead of sendmail_flags. This is intended to allow local mail queue management for systems that do not offer a listening SMTP service. - sendmail_outbound_flags
- (str) If both sendmail_enable
and sendmail_submit_enable are set to
“
NO” and sendmail_outbound_enable is set to “YES”, these are the flags to pass to the sendmail(8) daemon. - sendmail_msp_queue_enable
- (bool) If set to
“
YES”, start a client (MSP) queue runner sendmail(8) daemon at system boot time. As of sendmail 8.12, a separate queue is used for command line submissions. The client queue runner ensures that nothing is left behind in the submission queue. - sendmail_msp_queue_flags
- (str) If
sendmail_msp_queue_enable is set to
“
YES”, these are the flags to pass to the sendmail(8) daemon.
These variables are used to determine how the sendmail(8) daemons are started:
# MTA
if (${sendmail_enable} == NONE)
# Do nothing
else if (${sendmail_enable} == YES)
start sendmail with ${sendmail_flags}
else if (${sendmail_submit_enable} == YES)
start sendmail with ${sendmail_submit_flags}
else if (${sendmail_outbound_enable} == YES)
start sendmail with ${sendmail_outbound_flags}
endif
# MSP Queue Runner
if (${sendmail_enable} != NONE &&
[ -r /etc/mail/submit.cf] &&
${sendmail_msp_queue_enable} == YES)
start sendmail with ${sendmail_msp_queue_flags}
endif
To completely prevent any sendmail(8) daemons from starting, you must set the following variables in /etc/rc.conf:
sendmail_enable="NO" sendmail_submit_enable="NO" sendmail_outbound_enable="NO" sendmail_msp_queue_enable="NO"
Additionally, the setting of the
sendmail_rebuild_aliases variable determines whether
newaliases(1) is run if necessary or not. If set to
“YES”, the
/etc/mail/aliases.db file is automatically
regenerated either if it is older than
/etc/mail/aliases or non-existent.
SEE ALSO
HISTORY
The rc.sendmail file appeared in
FreeBSD 4.6.