blob: 8c7a60175acab98539455f9fe4c2b53a1bf0a27c [file] [log] [blame]
#!/bin/sh
### BEGIN INIT INFO
# Provides: postfix MTA
# Default-Start: 2345
# Default-Stop: 016
# Short-Description: start and stop postfix
# Description: Postfix is a Mail Transport Agent, which is the program
# that moves mail from one machine to another.
### END INIT INFO
success() {
echo " Successful"
exit 0
}
fail() {
echo " Failed"
exit 1
}
check_return () {
local ret="$1"
if [ "$ret" = "0" ]; then
success
else
fail
fi
}
PIDFile=/var/spool/postfix/pid/master.pid
case "$1" in
start)
echo -n "Starting Postfix..."
if [ ! -e /etc/aliases.db ]; then
# The alias database is necessary for postfix to work correctly.
echo "Creating aliases database ..."
newaliases
fi
if ! postfix status >/dev/null 2>&1; then
/usr/sbin/check_hostname.sh
postfix start
check_return $?
else
success
fi
;;
stop)
echo -n "Stopping Postfix..."
if postfix status >/dev/null 2>&1; then
postfix stop
check_return $?
else
success
fi
;;
reload)
echo -n "Reloading Postfix..."
if postfix status >/dev/null 2>&1; then
postfix reload
check_return $?
else
postfix start
check_return $?
fi
;;
restart)
$0 stop
sleep 1
$0 start
;;
status)
if postfix status >/dev/null 2>&1; then
pid=`sed -e 's/\s//g' $PIDFile`
echo "The Postfix mail system is running (PID: $pid)"
exit 0
else
echo "The Postfix mail system is not running"
exit 1
fi
;;
*)
echo "Usage: $0 {start|stop|status|reload|restart}"
exit 1
;;
esac