我如何让Postfix将所有邮件发送到自定义脚本?

我正在尝试configurationpostfix,以便所有到达(到任何域)的邮件都被传送到我有的shell脚本中。

我已经尝试了几个东西,包括设置

mailbox_command = path_to_my_script 

这个工程,但只会接受邮件到实际的本地帐户。

我也试图设置

 local_recipient_maps = 

我相信应该接受所有的邮件,但这似乎并不奏效。

我在Ubuntu Jaunty(9.04)上运行postfix 2.5.5-1.1。

看看master.cf。 这里已经定义了很多服务/例子,这将是一个很好的起点。 接下来定义virtual_transport并将其设置为您在master.cf中定义的名称。 例如(我在我的设置中使用dovecot的LDA):

在master.cf中:

 dovecot unix - nn - - pipe flags=DR user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${user}@${nexthop} -n -m ${extension} 

在main.cf中:

 virtual_transport = dovecot dovecot_destination_recipient_limit = 1 

这应该让你开始:)

或者,您可以将其作为smtpd_recipient_restrictions的check_policy_service筛选器守护程序来实现。 阅读后缀文档是让你开始的最好的地方:)

在master.cf中定义一个服务,然后在main.cf中定义一个服务

 virtual_transport = transport_name 

或者在/ etc / transport中使用它,如果你没有虚拟地址的话