sendmail revision 242153
1#!/bin/sh 2# 3# $FreeBSD: stable/9/etc/rc.d/sendmail 242153 2012-10-26 18:06:49Z obrien $ 4# 5 6# PROVIDE: mail 7# REQUIRE: LOGIN FILESYSTEMS 8# we make mail start late, so that things like .forward's are not 9# processed until the system is fully operational 10# KEYWORD: shutdown 11 12# XXX - Get together with sendmail mantainer to figure out how to 13# better handle SENDMAIL_ENABLE and 3rd party MTAs. 14# 15. /etc/rc.subr 16 17name="sendmail" 18rcvar="sendmail_enable" 19required_files="/etc/mail/${name}.cf" 20start_precmd="sendmail_precmd" 21 22load_rc_config $name 23command=${sendmail_program:-/usr/sbin/${name}} 24pidfile=${sendmail_pidfile:-/var/run/${name}.pid} 25procname=${sendmail_procname:-/usr/sbin/${name}} 26 27case ${sendmail_enable} in 28[Nn][Oo][Nn][Ee]) 29 sendmail_enable="NO" 30 sendmail_submit_enable="NO" 31 sendmail_outbound_enable="NO" 32 sendmail_msp_queue_enable="NO" 33 ;; 34esac 35 36# If sendmail_enable=yes, don't need submit or outbound daemon 37if checkyesno sendmail_enable; then 38 sendmail_submit_enable="NO" 39 sendmail_outbound_enable="NO" 40fi 41 42# If sendmail_submit_enable=yes, don't need outbound daemon 43if checkyesno sendmail_submit_enable; then 44 sendmail_outbound_enable="NO" 45fi 46 47sendmail_precmd() 48{ 49 # Die if there's pre-8.10 custom configuration file. This check is 50 # mandatory for smooth upgrade. See NetBSD PR 10100 for details. 51 # 52 if checkyesno ${rcvar} && [ -f "/etc/${name}.cf" ]; then 53 if ! cmp -s "/etc/mail/${name}.cf" "/etc/${name}.cf"; then 54 warn \ 55 "${name} was not started; you have multiple copies of sendmail.cf." 56 return 1 57 fi 58 fi 59 60 # check modifications on /etc/mail/aliases 61 if checkyesno sendmail_rebuild_aliases; then 62 if [ -f "/etc/mail/aliases.db" ]; then 63 if [ "/etc/mail/aliases" -nt "/etc/mail/aliases.db" ]; then 64 echo \ 65 "${name}: /etc/mail/aliases newer than /etc/mail/aliases.db, regenerating" 66 /usr/bin/newaliases 67 fi 68 else 69 echo \ 70 "${name}: /etc/mail/aliases.db not present, generating" 71 /usr/bin/newaliases 72 fi 73 fi 74} 75 76run_rc_command "$1" 77 78required_files= 79 80if checkyesno sendmail_submit_enable; then 81 name="sendmail_submit" 82 rcvar="sendmail_submit_enable" 83 start_cmd="${command} ${sendmail_submit_flags}" 84 run_rc_command "$1" 85fi 86 87if checkyesno sendmail_outbound_enable; then 88 name="sendmail_outbound" 89 rcvar="sendmail_outbound_enable" 90 start_cmd="${command} ${sendmail_outbound_flags}" 91 run_rc_command "$1" 92fi 93 94name="sendmail_clientmqueue" 95rcvar="sendmail_msp_queue_enable" 96start_cmd="${command} ${sendmail_msp_queue_flags}" 97pidfile="${sendmail_mspq_pidfile:-/var/spool/clientmqueue/sm-client.pid}" 98required_files="/etc/mail/submit.cf" 99run_rc_command "$1" 100