用户级别的 Postfix 管道邮件

用户级别的 Postfix 管道邮件

我正在尝试在用户级别过滤邮件。我安装了 CentOS 和 Postfix。

我设法在服务器上安装了一个过滤器,它工作得很好,除了不是按用户过滤,所有用户的所有电子邮件(发送和接收)都通过过滤器。(我只希望发送给[电子邮件保护]通过过滤器)。

我已添加到master.cf

myhook unix - n n - - pipe flags=F user=nils_filter argv=/path to/postfix.php ${sender} ${size} ${recipient}
smtp inet n - - - - smtpd -o content_filter=myhook:
pickup fifo n - - 60 1 pickup -o content_filter=myhook:

main.cf有:

smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/access,permit_mynetworks, reject_unauth_destination

并且我更新了access文件:

[email protected] FILTER myhook

运行postmap并重新加载后,它可以适用于整个 example.com 域(通过 smtp 发送和接收的所有电子邮件都通过我设置的过滤器进行传输)。

您能指出我可能错的地方吗?

答案1

content_filter由于您在 smtpd 上指定并在 master.cf 中拾取,因此所有电子邮件都已通过管道传输。

解决方案:

  • -o content_filter=myhook:从 master.cf 中删除字符串
  • 放入myhook访问文件中正确的语法

    [email protected] FILTER myhook:
    

参考:人机访问

相关内容