当Postfix接收到新邮件时,我无法触发这个邮件。 很明显,我没有做好什么,但是我搞不清楚是什么。
我有以下设置:Ubuntu服务器,Postfix 2.11。
Postfix服务正在工作,并正确接收到本地帐户的电子邮件。
脚本/tmp/milter.sh(owner:me,group:me,权限:rwx-rwx-rx)每次运行时都会logging一些string。 它在用户下在terminal中启动时正常工作。
在/etc/postfix/master.cf ,我有:
smtp inet n - - - - smtpd -o content_filter=mymilter ... mymilter unix - nn - - pipe flags=F user=me argv=/tmp/milter.sh
新configuration由加载
sudo postfix reload
看起来你对队列过滤之前和之后的Milter感到困惑。 这三个项目是不同的。 我build议你在队列过滤之前和队列过滤 之前阅读有关Postfix Milter支持的文档。
参数content_filter表示您运行AFTER-QUEUE内容filter。 从Postfix文档中摘录这个参数
消息排队后 ,将整个消息发送到指定的transport:destination 。 传输名称指定master.cf中邮件传递代理定义的第一个字段; 在相应的传送代理的手册页中描述下一跳目的地的语法。 有关外部内容filter的更多信息在Postfix FILTER_README文件中。
而你的问题,为什么它不工作,请检查maillog。 我猜你应该在参数content_filter中添加mymilter:dummy而不是mymilter 。 看他的官方文档中的例子。
最后一点,如果你修改master.cf那么最好使用postfix stop; postfix start postfix stop; postfix start让postfix读取configuration。