#!/bin/bash NEXTHOP=$@ TEMPFILE=`tempfile` # Если передан параметр "parameter1" # (что соответствует в нашем примере письмам, пришедшним НА адреса # abonent1@server.com и abonent5@server.com if [ $NEXTHOP == "parameter1" ] then while IFS= read -r LINE; do if [[ $LINE == From:* ]] then # Заменим строку отправителя так, чтобы его адрес был printf '%s\n' "$LINE" | sed -e 's/"//g' | sed -e 's/^From: \(.*\)/From: "\1" /' >> ${TEMPFILE} else printf '%s\n' "$LINE" >> ${TEMPFILE} fi done # Если передан параметр "parameter2" # (что соответствует в нашем примере письмам, пришедшним НА адрес # abonent2@server.com elif [ $NEXTHOP == "parameter2" ] then while IFS= read -r LINE; do if [[ $LINE == From:* ]] then # Заменим строку отправителя так, чтобы его адрес был printf '%s\n' "$LINE" | sed -e 's/"//g' | sed -e 's/^From: \(.*\)/From: "\1" /' >> ${TEMPFILE} else printf '%s\n' "$LINE" >> ${TEMPFILE} fi done # Во всех остальных случаях просто скопируем письмо без изменений во временный файл else cat - > ${TEMPFILE} fi # Здесь любое действие с полученным и обработанным письмом # Например, передача его в один из списков рассылки mlmmj: cat ${TEMPFILE} | /usr/bin/mlmmj-receive -F -L /var/spool/mlmmj/$NEXTHOP rm ${TEMPFILE}