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_cert_create
- (str) If sendmail_enable is
set to “
YES”, create a signed certificate /etc/mail/certs/host.cert representing /etc/mail/certs/host.key by the CA certificate in /etc/mail/certs/cacert.pem. This will enable connecting hosts to negotiate STARTTLS allowing incoming email to be encrypted in transit. sendmail(8) needs to be configured to use these generated files. The default configuration in /etc/mail/freebsd.mc has the required options in it. - sendmail_cert_cn
- (str) If sendmail_enable is
set to “
YES” and sendmail_cert_create is set to “YES”, this is the Common Name (CN) of the certificate that will be created. If sendmail_cert_cn is not set, the system's hostname will be used. If there is no hostname set, “amnesiac” will be used. - 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"
SEE ALSO
HISTORY
The rc.sendmail file appeared in
FreeBSD 4.6.