Настраиваю по статье http://www.lissyara.su/?id=1173
проблема в том, что на старой системе существует достаточно сложная система фильтрации почты, сделаная на maildrop.
Есть ли возможность использовать уже существующие фильтры, или лучше их переписать?
Если переписать, то что лучше использовать?
Sieve который идет вместе с dovecot?
На первый взгляд этот sieve несложный в качестве переадресатора писем. Но есть один фильтр на maildrop, который занимается распаковкой прикрепленных файлов. И никак не могу понять как использовать в фильтрах sieve вызов внешних утилит.
Вот так вызываем внешний скрипт:
dotlock "auto.lock" {
to "|/usr/local/vpopmail/unpack"
}
cat /usr/local/vpopmail/unpack
Код: Выделить всё
TMPDIR=`mktemp -d /tmp/unpack.XXXXXXXXXX` || exit 1
# save mail body
CONTENT=`cat` ;
cd $TMPDIR ;
EMAIL="unpack@office.by" ;
# uudecode mail
echo "${CONTENT}" | uudecode ;
FILENAME=`unzip -o *.zip | grep "^ inflating:" | sed -e 's/^.*inflating: //g'`;
if [ -f ${FILENAME} ]; then
(echo "${CONTENT}" | reformail -I"To: ${EMAIL}" -I"X-unpack: yes" -I"Content-Type: text/plain; charset=koi8-r" ; echo -e "\n${FILENAME} - Unpacked file\n"; \
cat ${FILENAME} | uuencode ${FILENAME} ) | /usr/sbin/sendmail -it ;
else
(echo "${CONTENT}" | reformail -I"To: ${EMAIL}" -I"X-unpack: yes" -I"Content-Type: text/plain; charset=koi8-r") | /usr/sbin/sendmail -it ;
fi
rm -rf ${TMPDIR}/* ;
rmdir ${TMPDIR} ;