#!/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