123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- #!/bin/bash
- #
- # sendmail This shell script takes care of starting and stopping
- # sendmail.
- #
- # chkconfig: 2345 80 30
- # description: Sendmail is a Mail Transport Agent, which is the program \
- # that moves mail from one machine to another.
- # processname: sendmail
- # config: /etc/mail/sendmail.cf
- # pidfile: /var/run/sendmail.pid
- # Source function library.
- . /etc/rc.d/init.d/functions
- # Source networking configuration.
- [ -f /etc/sysconfig/network ] && . /etc/sysconfig/network
- # Source sendmail configureation.
- if [ -f /etc/sysconfig/sendmail ] ; then
- . /etc/sysconfig/sendmail
- else
- DAEMON=no
- QUEUE=1h
- fi
- [ -z "$SMQUEUE" ] && SMQUEUE="$QUEUE"
- [ -z "$SMQUEUE" ] && SMQUEUE=1h
- # Check that networking is up.
- [ "${NETWORKING}" = "no" ] && exit 0
- [ -f /usr/sbin/sendmail ] || exit 0
- RETVAL=0
- prog="sendmail"
- start() {
- # Start daemons.
- echo -n $"Starting $prog: "
- if test -x /usr/bin/make -a -f /etc/mail/Makefile ; then
- make all -C /etc/mail -s
- else
- for i in virtusertable access domaintable mailertable ; do
- if [ -f /etc/mail/$i ] ; then
- makemap hash /etc/mail/$i < /etc/mail/$i
- fi
- done
- fi
- /usr/bin/newaliases > /dev/null 2>&1
- daemon /usr/sbin/sendmail $([ "x$DAEMON" = xyes ] && echo -bd) \
- $([ -n "$QUEUE" ] && echo -q$QUEUE) $SENDMAIL_OPTARG
- RETVAL=$?
- echo
- [ $RETVAL -eq 0 ] && touch /var/lock/subsys/sendmail
- if ! test -f /var/run/sm-client.pid ; then
- echo -n $"Starting sm-client: "
- touch /var/run/sm-client.pid
- chown smmsp:smmsp /var/run/sm-client.pid
- daemon --check sm-client /usr/sbin/sendmail -L sm-msp-queue -Ac \
- -q $SMQUEUE $SENDMAIL_OPTARG
- RETVAL=$?
- echo
- [ $RETVAL -eq 0 ] && touch /var/lock/subsys/sm-client
- fi
- return $RETVAL
- }
- reload() {
- # Stop daemons.
- echo -n $"reloading $prog: "
- /usr/bin/newaliases > /dev/null 2>&1
- if [ -x /usr/bin/make -a -f /etc/mail/Makefile ]; then
- make all -C /etc/mail -s
- else
- for i in virtusertable access domaintable mailertable ; do
- if [ -f /etc/mail/$i ] ; then
- makemap hash /etc/mail/$i < /etc/mail/$i
- fi
- done
- fi
- daemon /usr/sbin/sendmail $([ "x$DAEMON" = xyes ] && echo -bd) \
- $([ -n "$QUEUE" ] && echo -q$QUEUE)
- RETVAL=$?
- killproc sendmail -HUP
- RETVAL=$?
- echo
- if [ $RETVAL -eq 0 -a -f /var/run/sm-client.pid ]; then
- echo -n $"reloading sm-client: "
- killproc sm-client -HUP
- RETVAL=$?
- echo
- fi
- return $RETVAL
- }
- stop() {
- # Stop daemons.
- echo -n $"Shutting down $prog: "
- killproc sendmail
- RETVAL=$?
- echo
- [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/sendmail
- if test -f /var/run/sm-client.pid ; then
- echo -n $"Shutting down sm-client: "
- killproc sm-client
- RETVAL=$?
- echo
- [ $RETVAL -eq 0 ] && rm -f /var/run/sm-client.pid
- [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/sm-client
- fi
- return $RETVAL
- }
- # See how we were called.
- case "$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- reload)
- reload
- RETVAL=$?
- ;;
- restart)
- stop
- start
- RETVAL=$?
- ;;
- condrestart)
- if [ -f /var/lock/subsys/sendmail ]; then
- stop
- start
- RETVAL=$?
- fi
- ;;
- status)
- status sendmail
- RETVAL=$?
- ;;
- *)
- echo $"Usage: $0 {start|stop|restart|condrestart|status}"
- exit 1
- esac
- exit $RETVAL
|