#!/bin/sh

# For Red Hat chkconfig
# chkconfig: - 30 80
# description: the qmail MTA

PATH=/var/qmail/bin:/bin:/usr/bin:/usr/local/bin:/usr/local/sbin
export PATH

if [ -f /usr/xpg4/bin/id ]; then
   # Solaris version
   ID=/usr/xpg4/bin/id
 else
   ID=id
fi

QMAILDUID=`$ID -u qmaild`
NOFILESGID=`$ID -g qmaild`

case "$1" in
  start)
    echo "Starting qmail-send"
    rm -f /var/qmail/supervise/qmail-send/down
    ln -sf /var/qmail/supervise/qmail-send /service
    svc -u /service/qmail-send 2> /dev/null

    if [ -d /var/lock/subsys ]; then
      touch /var/lock/subsys/qmail-send
    fi
    ;;
  stop)
    echo "Stopping qmail-send..."

    rm -f /service/qmail-send
    touch /var/qmail/supervise/qmail-send/down

    svc -x /var/qmail/supervise/qmail-send 2> /dev/null
    svc -d /var/qmail/supervise/qmail-send 2> /dev/null

    svc -x /var/qmail/supervise/qmail-send/log 2> /dev/null
    svc -d /var/qmail/supervise/qmail-send/log 2> /dev/null

    if [ -f /var/lock/subsys/qmail-send ]; then
      rm /var/lock/subsys/qmail-send
    fi
    ;;
  stat)
    svstat /var/qmail/supervise/qmail-send
    svstat /var/qmail/supervise/qmail-send/log
    qmail-qstat
    ;;
  doqueue|alrm|flush)
    echo "Sending ALRM signal to qmail-send."
    svc -a /service/qmail-send
    ;;
  queue|q)
    qmail-qstat
    qmail-qread
    ;;
  reload|hup)
    echo "Sending HUP signal to qmail-send."
    svc -h /service/qmail-send
    ;;
  pause)
    echo "Pausing qmail-send"
    svc -p /service/qmail-send
    ;;
  cont)
    echo "Continuing qmail-send"
    svc -c /service/qmail-send
    ;;
  restart)
    echo "Stopping qmail-send"
    svc -t /service/qmail-send

    echo "Restarting qmail-send."
    svc -u /service/qmail-send
    ;;
  help)
    cat <<HELP
   stop -- stops mail service (smtp connections refused, nothing goes out)
  start -- starts mail service (smtp connection accepted, mail can go out)
  pause -- temporarily stops mail service (connections accepted, nothing leaves)
   cont -- continues paused mail service
   stat -- displays status of mail service
restart -- stops and restarts smtp, sends qmail-send a TERM & restarts it
doqueue -- sends qmail-send ALRM, scheduling queued messages for delivery
 reload -- sends qmail-send HUP, rereading locals and virtualdomains
  queue -- shows status of queue
   alrm -- same as doqueue
  flush -- same as doqueue
    hup -- same as reload
HELP
    ;;
  *)
    echo "Usage: $0 {start|stop|restart|doqueue|flush|reload|stat|pause|cont|queue|help}"
    exit 1
    ;;
esac

exit 0

