Инструменты пользователя

Инструменты сайта


hl3

NATIVE

#!/bin/bash
ALTERMIME=/usr/bin/altermime
SENDMAIL=/usr/sbin/sendmail
ALTERMIME_DIR=/tmp

# Ожидается, что коды завершения команд, вызываемых Postfix,
# будут придерживаться правил, определенных в <sysexits.h>.
TEMPFAIL=75
UNAVAILABLE=69

# Перейти в рабочий каталог и уведомить Postfix в случае неудачи 'cd'.
cd ${ALTERMIME_DIR} || { echo ${ALTERMIME_DIR} does not exist; exit $TEMPFAIL; }

# Очистка по завершении или прерывании работы.
trap "rm -f in.$$" 0 1 2 3 15

# Запись почты во временный файл. Уведомление Postfix в случае неудачи.
cat > in.$$ || { echo Cannot write to ${RIPMIME_DIR}; exit ${TEMPFAIL}; }

# Вызываем alterMIME, передаем ей сообщение и говорим, что необходимо удалить все вложения
${ALTERMIME} --input=in.$$ --removeall  || { echo Message content rejected; exit $UNAVAILABLE; }

# Вызов sendmail для возврата сообщения обратно в Postfix
${SENDMAIL} "$@" < in.$$

# Используем код завершения sendmail, чтобы сообщить Postfix, как все прошло.
exit $?
hl3.txt · Последние изменения: 2016/02/01 22:25 — root