我们通过特定的电子邮件收到服务请求。 然后使用virtual_alias_maps中的条目将请求转发到其他地址。 在收到此邮件的请求主题行中看到“紧急”一词后,我还想将其转发到另一个地址(pipe理员的SMS电子邮件地址的别名)。
我想我可以用头检查和REDIRECT命令来完成这个工作。 但是,REDIRECT只将它发送到redirect的地址,而不是转发的地址。 在“紧急”的情况下,我希望它转到redirect地址和原来的转发地址。
我是相当新的Postfix,我觉得我在这里失去了一些东西。 有什么build议么?
通常情况下,Postfix将不会在没有外部帮助的情况下处理邮件内容 ,它会作用于信封信息。 像Subject这样的东西属于消息内容。
我认为pipe理这种事情的最简单的方法是为已经接收的邮件地址添加一个额外的电子邮件地址,这实际上是一个脚本的转发(你可以在/etc/aliases通过在pipe道符号前面加上目的地,读取man aliases ),对其标准input(消息内容)执行您所要求的testing并相应地执行。
这可以通过以下方式完成:
a。)向master.cf中添加一个新的smtpd监听器,将-o always_bcc选项设置为你想要的地址,并让这个新的smtpd进程监听某个端口,例如10027; 在10028上创build第二个smtpd监听器 – 在这个smtpd实例中设置选项,以便像传递给标准的smtpd实例一样传递到最终目的地。 有关更多信息,请参阅http://www.postfix.org/SMTPD_PROXY_README.html
b。)在你的头文件检查中,使用filter动作并发送任何匹配的主题来过滤inet:127.0.0.1:10027
或者,您可以安装一个额外的postfix实例,并通过步骤a将消息路由到该实例…许多不同的方法来执行此操作。