Назад | Перейти на главную страницу

Postfix, фильтрация на основе правил независимо для каждого пользователя

Мне удалось успешно создать фильтр электронной почты отправителя из белого списка: Вот.

Моя цель сейчас - создать отдельный фильтр для каждого пользователя. Я хотел бы отфильтровать все электронные письма на основе созданных правил отправить на групповой адрес электронной почты all@mydomain.com, но я не хочу ограничивать личные электронные письма user{(1-9)*}@mydomain.com. Файл псевдонимов настроен как all: user1, user2, user3 ....

Возможна ли эта фильтрация почты на основе пользователей или мне следует попробовать что-то более сложное, например, запуск php script на приеме электронной почты см .: Вот?

Обновить:

В конце концов, поскольку лучшего способа не было, я последовал примеру ВотВот), где я изменил файл bash для выполнения моих собственных фильтров. Все еще ищу более элегантное решение.

Это пример для maildrop:

SHELL="/bin/bash"
import EXT
import HOST
VPOP="| /home/vpopmail/bin/vdelivermail '' delete"
VHOME=`/home/vpopmail/bin/vuserinfo -d $EXT@$HOST`

DUMMY=`test -d $VHOME/Maildir`
if ( $RETURNCODE == 1 )
{
   echo "Sorry, no mailbox here by that name. (#5.1.1)"
   EXITCODE=100
   exit
}

DUMMY=`test -d $VHOME/Maildir/.Spam`
if ( $RETURNCODE == 1 )
{
   DUMMY=`/usr/bin/maildirmake -f Spam $VHOME/Maildir`
#   DUMMY=`echo Inbox.Spam >> $VHOME/Maildir/courierimapsubscribed`
}

#if ( $SIZE < 4621440 )
#{
#xfilter "/usr/local/bin/spamc -f -u nobody"
#}

if (/^X-Barracuda*/)
{
        echo "60.11 Message delivered to home dir"
        to "$VPOP"
        exit
}
else
{
        to "$VHOME/Maildir/.Spam"
        echo "Message delivered to $VHOME/Maildir/.Spam"
        exit
}