如何使用 qmail 或其他 MTA 自动在服务器端注入电子邮件签名?

如何使用 qmail 或其他 MTA 自动在服务器端注入电子邮件签名?

我们有一个不错的公司电子邮件签名(不是冗长的免责声明文件,只是一个一致的 4 行电子邮件签名),我们已将电子邮件客户端配置为使用它。它很小,很有品位,而且对于纯文本电子邮件也非常好地降级。

我们的设置存在三个问题。

  1. 可能会意外修改签名,但实际上这里没有人愿意这样做。我们喜欢一致性。:)
  2. 如果需要进行任何更改(例如添加新的社交网络),则必须重新配置每台机器。
  3. 手机邮箱:这才是真正的问题。iOS Mail 为所有邮箱提供了一个电子邮件签名。这意味着,如果不透露您不在办公室,就无法从“支持”或“销售”框回复,并且在此过程中会丢弃您的公司品牌。或者,这意味着所有个人电子邮件都需要编辑,这样公司名称就不会被推送给所有朋友和亲戚。

我想使用包装器脚本对电子邮件正文进行模式匹配,查找电子邮件令牌(例如){{{auto-signature-from-fullname}}}并将其替换为实际签名内容。在服务器端,脚本将考虑电子邮件“发件人”(支持?销售?网站管理员?)和 MIME 部分(html?纯文本?)来确定要注入哪个电子邮件签名。在客户端,电子邮件应用程序仍将确定签名所属的位置,因此据我所知,我们不会冒着使用这种方法损坏电子邮件附件的风险。此外,支持单签名的电子邮件客户端(iPhone、iPad)将受益于正确的签名,因为每个员工的签名令牌都是一致的。

我们正在使用带补丁的 qmail v1.06,尽管我们并不反对在必要时使用不同的 Linux MTA 或额外的 SMTP 中继。与源补丁相比,我们真正需要的是包装器脚本、管道 stdin/stdout。

笔记:我在 Server Fault 上看到过类似这样的问题,得到的回答都是“不要这样做“回复。我发布我的问题是因为我的需要/想法与盲目的自动电子邮件页脚有些不同。任何提供的帮助都非常感谢。谢谢!

答案1

出色地“别这么做”是正确的答案。使用 MTA 更改电子邮件内容会产生很多问题,因此不值得。

但是如果你真的想忍受痛苦,我认为使用 qmailqueue 补丁会有效。这允许 qmail-smtpd 在收到消息时调用除 qmail-inject 之外的程序。它通常用于使用某些防病毒/反垃圾邮件软件扫描电子邮件,但没有人说它不能做你可能想要的任何其他事情。

创建一个可以通过 QMAILQUEUE 插入的脚本,该脚本将分解电子邮件的 MIME 结构并进行适当的替换,然后重新创建消息。Perl 和 Mail::MIME 可能是您的好朋友。

祝你好运 ;-)

相关内容