我用spamassassinconfiguration了postfix。 master.conf如下。
spamfilter unix - nn - - pipe flags=Rq user=spamfilter argv=/usr/local/bin/spamfilter -f ${sender} -- ${recipient} smtp inet n - n - 20 smtpd -o content_filter=spamfilter:dummy
上面的configuration工作正常。
我想在spamfilter之后添加spampd代理。 我试过以下,但它不工作。
spamfilter unix - nn - - pipe flags=Rq user=spamfilter argv=/usr/local/bin/spamfilter -f ${sender} -- ${recipient} 125 inet n - y - - smtpd -o content_filter=spamfilter:dummy -o content_filter=smtp:192.168.0.51:10025 127.0.0.1:10026 inet n - n - 10 smtpd -o content_filter=
我需要使用spampd代理来连接其他mta进行用户身份validation。 所以我想在发送请求/数据到spampd之前过滤和放弃垃圾邮件。 有没有人可以帮助我呢? 如果在垃圾邮件发送到最终目的地之前有任何select可以放弃垃圾邮件,这也适用于我的scheme。
在Postfix中有两种插入内容filter的方法:在排队之前和之后。
如果您希望电子邮件存储在队列中,然后将其发送到filter( postqueing ),则必须使用选项content_filter 。 在这里,您必须按照传输表中使用的方式格式化filter地址: transport:nexthop其中transport是smtp,nexthop是spampd正在侦听的地址。 请注意,如果您的nexthop是IP地址,则必须用方括号括起来。 所以在你的情况下:
-o content_filter=smtp:[192.168.0.51]:10025
如果你希望你的电子邮件在 Postfix存储在队列中之前被过滤( prequeing ),那么你必须使用smtpd_proxy_filter选项。 这种情况下的地址格式与content_filter中的地址格式不同。 在这种情况下,你可以简单地忘掉方括号和传输方法:
-o smtpd_proxy_filter=192.169.0.51:10025