我正在寻找一个开源/免费的 SMTP 服务器,它能让我通过简单的搜索和替换(或正则表达式)自动更改出站邮件的内容。它应该能够配置为仅对发送到与特定域匹配的地址的电子邮件执行此操作。
具体来说,我有一个应用程序,可以发送包含 URL 的电子邮件。我需要能够在发送电子邮件之前对这些 URL 执行搜索和替换。我无法更改应用程序本身,但可以将其指向我选择的 SMTP 服务器。
答案1
一个简单的解决方案是让你的电子邮件服务器通过以下方式将电子邮件传递给 shell 脚本邮件服务器。Procmail 可以通过任意脚本运行邮件(通过使用 .forward 文件);然后该脚本可以按照您选择的任何形式重新发送结果。
有点儿像黑客(但任何解决方案都是如此),但应该很容易实施和测试。我做过类似的事情来自动处理退回收据。
这实际上可能比使用 SMTP 服务器更干净,因为您实际上是在生成新邮件,而不是弄乱现有邮件(这实际上不受既定的电子邮件处理标准支持)。
答案2
Spamassassin 可能可以很容易地进行修改以实现这一点。
如果失败的话,Anomy Sanitizer 也许可以做到这一点。
答案3
如果你使用windows平台,我建议你尝试一下邮件服务器。它是免费的、开源的,并且有一个 COM API,允许您修改电子邮件的内容。