Postfix 根据收件人更改主题

Postfix 根据收件人更改主题

我们使用 postfix 作为邮件中继。我试图根据收件人地址更改电子邮件的主题。看起来 check_header 可能是我需要的工具,但我似乎无法让它根据收件人进行过滤,而是根据主题进行替换。

答案1

您可能需要一个内容过滤器。

关于内置过滤器的 Postfix 文档(其中包括header_checks指定:

“标头/正文检查不能依赖于邮件的收件人。”

内容过滤器和过滤器之间的区别在于过滤器发生在队列之前:

Postfix:内容过滤器与 milter

您可以使用header_checks仅将收件人绑定的电子邮件发送到相关过滤器(以免除 Postfix 的额外工作):

如果发件人包含特定地址,如何在 Postfix 中重写外发邮件的电子邮件主题?

答案2

这可以通过传输和标头检查来完成。

在 /etc/postfix/transport 文件中添加:

[email protected] custom_transport:

这将为所需收件人启用特定传输,然后将其与主题更改相关联。替换[电子邮件保护]实际地址。custom_transport 这个名字是任意的,但所有引用都必须是同一个名字。

在 /etc/postfix/main.cf 添加:

header_checks = regexp:/etc/postfix/header_checks

transport_maps = hash:/etc/postfix/transport

这些行将分别启用标头检查和传输图。

在 /etc/postfix/master.cf 添加:

custom_transport ... smtp 
  -o smtp_header_checks=regexp:/etc/postfix/rewrite_headers

用该文件中已定义的其余 smpt 传输选项替换 ...。

最后创建文件 /etc/postfix/rewrite_headers(名称任意,但必须与主文件中添加的行中的名称匹配),内容如下:

/^Subject:(.*)/ REPLACE Subject: Desired subject text

这会将主题替换为所需的主题。

重新加载或者重新启动 postfix。

参考:http://www.postfix.org/header_checks.5.html

相关内容