The /etc/rc.d/init.d/sendmail script file

Securing and Optimizing Linux: RedHat Edition -A Hands on Guide
Prev | Chapter 22. Software -Server/Mail Network | Next

# 22.9. The `/etc/rc.d/init.d/sendmail` script file

> : Please note that the `/etc/rc.d/init.d/sendmail` file is for all type of configuration.

To configure your `/etc/rc.d/init.d/sendmail` script file to start and stop the Sendmail daemon, You have to create the sendmail script file, touch `/etc/rc.d/init.d/sendmail` and add:

             #!/bin/sh
             #
             # 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/sendmail.cf
             # pidfile: /var/run/sendmail.pid

             # Source function library.
             . /etc/rc.d/init.d/functions

             # Source networking configuration.
             . /etc/sysconfig/network

             # Source sendmail configuration.
             if [ -f /etc/sysconfig/sendmail ] ; then
             . /etc/sysconfig/sendmail
             else
             DAEMON=yes
             QUEUE=1h
             fi

             # Check that networking is up.
             [ ${NETWORKING} = "no" ] && exit 0

             [ -f /usr/sbin/sendmail ] || exit 0

             RETVAL=0

             # See how we were called.
             case "$1" in
             start)
             # Start daemons.

             echo -n "Starting sendmail: "
             /usr/bin/newaliases > /dev/null 2>&1
             for i in virtusertable access domaintable mailertable ; do
             if [ -f /etc/mail/$i ] ; then
             makemap hash /etc/mail/$i < /etc/mail/$i
             fi
             done
             daemon /usr/sbin/sendmail $([ "$DAEMON" = yes ] && echo -bd) \
             $([ -n "$QUEUE" ] && echo -q$QUEUE)
             RETVAL=$?
             echo
             [ $RETVAL -eq 0 ] && touch /var/lock/subsys/sendmail
             ;;
             stop)
             # Stop daemons.
             echo -n "Shutting down sendmail: "
             killproc sendmail
             RETVAL=$?
             echo
             [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/sendmail
             ;;
             restart|reload)
             $0 stop
             $0 start
             RETVAL=$?
             ;;
             status)
             status sendmail
             RETVAL=$?
             ;;
             *)
             echo "Usage: sendmail {start|stop|restart|status}"
             exit 1
             esac

             exit $RETVAL

Now, make this script executable and change its default permissions:

             [root@deep] /# chmod 700  /etc/rc.d/init.d/sendmail

Create the symbolic rc.d links for Sendmail with the command:

             [root@deep] /# chkconfig --add sendmail

Start your Sendmail Server manually with the following command:

             [root@deep] /# /etc/rc.d/init.d/sendmail start

             Starting sendmail:                                         [  OK  ]

Please do a cleanup as always later:

             [root@deep] /# cd /var/tmp
             [root@deep ]/tmp# rm -rf sendmail-version/ sendmail.version.tar.gz

The rm command as used above will remove all the source files we have used to compile and install Sendmail. It will also remove the Sendmail compressed archive from the `/var/tmp` directory.

Prev | Home | Next
The `/etc/mail/local-host-names` file | Up | Secure Sendmail using smrsh