Postfix,为每个用户独立进行基于规则的过滤

Postfix,为每个用户独立进行基于规则的过滤

我设法成功创建了白名单发件人电子邮件过滤器,请参见:这里

我现在的目标是为每个用户设置单独的过滤器。我想根据创建的规则过滤掉所有发送到群组电子邮件的电子邮件[email protected],但我不想将个人电子邮件限制为user{(1-9)*}@mydomain.com。别名文件设置为all: user1, user2, user3 ...

这种基于用户的邮件过滤是否可行,或者我应该尝试一些更复杂的东西,例如触发php script电子邮件接收,请参阅:这里

更新:

最后,因为没有更好的办法,我按照这个例子这里(和这里),我修改了 bash 文件来执行我自己的过滤器。仍在寻找更优雅的解决方案。

答案1

这是 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
}

相关内容