Postfix 根据 MySQL 结果添加自定义标头

thi*_*ity 3 mysql postfix

我有一个关于通过 Postfix 访问 MySQL 数据库并根据结果向电子邮件添加自定义标头的快速问题。所以我们已经设置了一个带有 Postfix 的 Ubuntu 服务器,它使用 MySQL DB 作为虚拟地址,现在我的问题是:是否可以在虚拟地址表中查找地址,如果它符合搜索条件,添加一个自定义标题到电子邮件?我们还需要在电子邮件到达时发生这种情况,以防电子邮件帐户附加任何转发器。

我找到了有关如何通过 Postfix 添加自定义标头的资源:http ://saaboke.com/?p =22,但我不知道如何将其与 MySQL 合并。任何建议将不胜感激。

谢谢你的时间。

mai*_*ilq 5

这是一件容易的事。你需要添加一些东西

 smtp_recipient_restrictions = (...), check_recipient_access mysql:/etc/postfix/header_based_on_recipient.mysql, (...), permit
Run Code Online (Sandbox Code Playgroud)

/etc/postfix/header_based_on_recipient.mysql必须包含一切需要查询MySQL作为描述在这里。我无法为您提供模板,因为这取决于您要查询的内容。

查询结果必须为空以不添加标题。或者查询的结果必须是

PREPEND X-fancy-new-header: Found you in the database
Run Code Online (Sandbox Code Playgroud)

如果您需要多个标题,则此方法不适用。在这种情况下,您应该考虑将MILTER接口与自制的milter 一起使用。做这些扩展的东西不是 Postfix 的工作,而是委托给外部程序,因为 Postfix 是邮件程序而不是消息重写器。

我很抱歉 - 作为 Postfix 爱好者 - 推荐 Exim 进行扩展消息操作,因为 Exim 内置了这些东西。