我们通过特定电子邮件接收服务请求。然后使用虚拟别名映射。看到此电子邮件请求的主题行中有“紧急情况”一词后,我还想将其转发到另一个地址(我们管理员的 SMS 电子邮件地址的别名)。
我想我可以做到这一点标头检查和 REDIRECT 命令。但是,REDIRECT 只会将其发送到重定向地址,而不会发送到转发地址。在“紧急情况”的情况下,我希望它转到重定向地址和原始转发地址。
我对 Postfix 还不太熟悉,感觉自己错过了一些东西。有什么建议吗?
答案1
通常情况下,Postfix 不会对消息采取行动内容无需外界帮助,它就能作用于信封信息。诸如此类的内容Subject
属于消息内容。
我认为管理这些事情的最简单方法是向已经接收的人员添加一个额外的电子邮件地址,这实际上是一个脚本的转发(您可以通过在/etc/aliases
目的地前面加上管道符号 read 来执行此man aliases
操作),该脚本在其标准输入(消息内容)上执行您请求的测试并采取相应的行动。
答案2
可以通过以下方式实现:
a.) 在 master.cf 中添加一个新的 smtpd 监听器,将 -o always_bcc 选项设置为您想要的地址,并让这个新的 smtpd 进程监听某个端口,如 10027;在 10028 上创建第二个 smtpd 监听器 - 在此 smtpd 实例中设置选项,以便像标准 smtpd 实例一样将邮件传送到最终目的地。请参阅http://www.postfix.org/SMTPD_PROXY_README.html了解更多信息
b.) 在标题检查中,使用过滤器操作并将任何匹配的主题发送到过滤器 inet:127.0.0.1:10027
或者,您可以安装一个额外的 postfix 实例,并通过步骤 a 来将消息路由到该实例...有很多不同的方法可以做到这一点。