]> git.pld-linux.org Git - packages/sendmail.git/blob - sendmail.init
- ooops - left from tests...
[packages/sendmail.git] / sendmail.init
1 #! /bin/sh
2 #
3 # sendmail      This shell script takes care of starting and stopping
4 #               sendmail.
5 #
6 # chkconfig:    2345 80 30
7 # description:  Sendmail is a Mail Transport Agent, which is the program \
8 #               that moves mail from one machine to another.
9 # pidfile:      /var/run/sendmail.pid
10
11
12 # Source function library
13 . /etc/rc.d/init.d/functions
14
15 # Get network config
16 . /etc/sysconfig/network
17
18 # Get service config
19 if [ -f /etc/sysconfig/sendmail ]; then
20         . /etc/sysconfig/sendmail
21 else
22         DAEMON=yes
23         QUEUE=1h
24         ENABLE_IPV6=yes
25 fi
26 [ -z "$SMQUEUE" ] && SMQUEUE="$QUEUE"
27 [ -z "$SMQUEUE" ] && SMQUEUE=1h
28
29 # Check that networking is up.
30 if is_yes "${NETWORKING}"; then
31         if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
32                 msg_network_down Sendmail
33                 exit 1
34         fi
35 else
36         exit 0
37 fi
38
39 RETVAL=0
40 # See how we were called.
41 case "$1" in
42   start)
43         # Check if the service is already running?
44         if [ ! -f /var/lock/subsys/sendmail ]; then
45                 show "Prepare sendmail db"
46                 busy
47                 /usr/bin/newaliases >/dev/null 2>&1
48                 for i in virtusertable access domaintable mailertable; do
49                         if [ -f /etc/mail/$i ]; then
50                                 makemap -v hash /etc/mail/$i < /etc/mail/$i >/dev/null 2>&1
51                                 [ $RETVAL -eq 0 ] && RETVAL=$?
52                         fi
53                 done 
54                 [ $RETVAL -eq 0 ] && ok || fail
55                 msg_starting sendmail
56                 daemon /usr/sbin/sendmail $([ "$DAEMON" = "yes" ] && echo -bd) \
57                                         $([ -n "$QUEUE" ] && echo -q$QUEUE) \
58                                         $([ "$ENABLE_IPV6" = "yes" ] && 
59                                                 echo -ODaemonPortOptions=Family=inet6 )
60                 RETVAL=$?
61                 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/sendmail
62         else
63                 msg_already_running sendmail
64         fi
65         if [ ! -f /var/lock/subsys/sm-client ]; then
66                 msg_starting sm-client
67                 touch /var/run/sm-client.pid
68                 chown smmsp:smmsp /var/run/sm-client.pid
69                 daemon /usr/sbin/sendmail -L sm-msp-queue -Ac -q$SMQUEUE
70                 RETVAL=$?
71                 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/sm-client
72         else
73                 msg_already_running sm-client
74         fi
75         ;;
76   stop)
77         if [ -f /var/lock/subsys/sendmail ]; then
78                 # Stop daemons.
79                 msg_stopping sendmail
80                 killproc sendmail
81                 rm -f /var/lock/subsys/sendmail
82         else
83                 msg_not_running sendmail
84         fi
85         if [ -f /var/lock/subsys/sm-client ]; then
86                 msg_stopping sm-client
87                 killproc sendmail
88                 RETVAL=$?
89                 [ $RETVAL -eq 0 ] && rm -f /var/run/sm-client.pid
90                 [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/sm-client
91         else
92                 msg_not_running sm-client
93         fi
94         ;;
95   restart)
96         $0 stop
97         $0 start
98         exit $?
99         ;;
100   reload|force-reload)
101         # TODO: make it better for sm-client
102         if [ -f /var/lock/subsys/sendmail ]; then
103                 msg_reloading sendmail
104                 busy
105                 killproc sendmail -HUP
106                 RETVAL=$?
107         else
108                 msg_not_running sendmail
109         fi
110         ;;
111   status)
112         status sendmail
113         exit $?
114         ;;
115   *)
116         msg_usage "$0 {start|stop|restart|reload|force-reload|status}"
117         exit 3
118 esac
119
120 exit $RETVAL
This page took 0.122287 seconds and 3 git commands to generate.