#!/sbin/openrc-run # Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 extra_started_commands="reload abort flush" description_reload="Re-read configuration files. Running processes terminate at their earliest convenience." description_abort="Stop the Postfix mail system abruptly. Running processes are signaled to stop immediately." description_flush="Force delivery: attempt to deliver every message in the deferred mail queue." # Please read http://www.postfix.org/MULTI_INSTANCE_README.html for multi instance support CONF_DIR="/etc/postfix" CONF_OPT="${SVCNAME##*.}" if [ -n ${CONF_OPT} -a ${SVCNAME} != "postfix" ]; then CONF_DIR="${CONF_DIR}.${CONF_OPT}" fi if [ "${CONF_DIR}" = "/etc/postfix" ]; then CONF_PARAM="" CONF_MESSAGE="" else CONF_PARAM="-c ${CONF_DIR}" CONF_MESSAGE="(${CONF_DIR})" fi depend() { use logger dns ypbind amavisd antivirus postfix_greylist net saslauthd if [ "${SVCNAME}" = "postfix" ]; then provide mta fi } start() { if [ ! -z "${CONF_PARAM}" ]; then einfo "Please consider updating your config for postmulti support." fi ebegin "Starting postfix ${CONF_MESSAGE}" if [ ! -d ${CONF_DIR} ]; then eend 1 "${CONF_DIR} does not exist" return 1 fi /usr/sbin/postfix ${CONF_PARAM} start >/dev/null 2>&1 eend $? } stop() { ebegin "Stopping postfix ${CONF_MESSAGE}" /usr/sbin/postfix ${CONF_PARAM} stop >/dev/null 2>&1 eend $? } status() { local _retval einfon "" /usr/sbin/postfix ${CONF_PARAM} status _retval=$? if [ x${_retval} = 'x0' ]; then mark_service_started "${SVCNAME}" eend 0 else mark_service_stopped "${SVCNAME}" eend 3 fi } reload() { ebegin "Reloading postfix ${CONF_MESSAGE}" /usr/sbin/postfix ${CONF_PARAM} reload >/dev/null 2>&1 eend $? } abort() { ebegin "Aborting postfix ${CONF_MESSAGE}" if service_started "${SVCNAME}"; then mark_service_stopped "${SVCNAME}" fi /usr/sbin/postfix ${CONF_PARAM} abort >/dev/null 2>&1 eend $? } flush() { ebegin "Flushing postfix ${CONF_MESSAGE}" /usr/sbin/postfix ${CONF_PARAM} flush >/dev/null 2>&1 eend $? }