将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 - nn - - 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)允许使用虚拟域和虚拟别名。

所以…这个问题解决了。

从postfix文档的页面MAILDROP自述文件,您将提供有关这两种方法的一些技术信息。 在本节中,我将在使用mailbox_command方法或使用virtual_transport时引用片段。

如果您有多个用户configuration了本地系统帐户,请使用mailbox_command 。 通常该域名将落入mydestination参数。 从页面中摘录

Postfix可以configuration为通过本地交付代理将邮件传递给maildrop。 这比上面讨论的“直接”方法效率稍低一点,但是为您提供了本地别名(5)扩展和$ HOME / .forward文件处理的便利。 您通常会将其用于在mydestination中列出并且具有UNIX系统帐户的用户的域。

否则,你应该使用virtual_transport方法。

无论如何,你应该理解postfix中四个领域类的概念。 事实上,virtual_transport将落入虚拟地址类,邮箱将服务于本地地址类。