我想开始使用 Procmail 来对 Centos 7 服务器上 Postfix 收到的虚拟域中的特定帐户进行过滤。在各种文章中,似乎有两种常用方法可以将 Postfix 电子邮件定向到 Procmail:
方法1):
/etc/postfix/main.cf:
mailbox_command = /usr/bin/procmail -a "$EXTENSION"
方法2):
/etc/postfix/main.cf:
virtual_transport = virtualprocmail:dummy
virtualprocmail_destination_recipient_limit = 1
/etc/postfix/master.cf
virtualprocmail unix - n n - - pipe flags=DRXhuq user=virtualuser
argv=/usr/bin/procmail -m E_SENDER=$sender E_RECIPIENT=$recipient ER_USER=$user ER_DOMAIN=$domain ER_DETAIL=$extension NEXTHOP=$nexthop
我不确定要使用哪种方法处理我的 Postfix 虚拟域。这些将电子邮件发送到 Procmail 的方法各自的优缺点是什么?
编辑:谢谢!是的,Postfix Maildrop 页面确实澄清了这个问题。
总结一下:方法1)需要使用系统用户账号,方法2)允许使用虚拟域和虚拟别名。
所以...这个问题解决了。
答案1
页MAILDROP 自述文件您是否能从 Postfix 文档中提供一些有关这两种方法的技术信息?在本节中,我将引用您应使用mailbox_command
方法或使用的代码片段virtual_transport
。
如果您有多个用户配置了本地系统帐户,请使用mailbox_command
该帐户。通常域会包含在mydestination
参数中。页面摘录
Postfix 可以配置为通过本地投递代理将邮件投递到 maildrop。这比上面讨论的“直接”方法效率稍低,但为您提供了本地别名(5)扩展和 $HOME/.forward 文件处理的便利。您通常会将其用于 mydestination 中列出且拥有 UNIX 系统帐户的用户的域。
否则,您应该使用virtual_transport
方法。
无论如何,你应该理解后缀中的四个域类。实际上,virtual_transport 属于虚拟地址类,而 mailbox 服务于本地地址类。