将 Postfix 邮件发送到 Procmail 的方法比较

将 Postfix 邮件发送到 Procmail 的方法比较

我想开始使用 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 服务于本地地址类。

相关内容