![仅将电子邮件写入 eml 文件的 SMTP 服务器](https://linux22.com/image/617398/%E4%BB%85%E5%B0%86%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6%E5%86%99%E5%85%A5%20eml%20%E6%96%87%E4%BB%B6%E7%9A%84%20SMTP%20%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
我们有一个第三方软件,所有外发邮件都通过它发送,它配置为发送到 SMTP 服务器。我们需要拦截这些邮件,这样我们就可以使用动态签名修改它们,更改发件人地址,并根据一组自定义规则执行多项其他操作。
由于与第三方软件不兼容,我们无法通过 Exchange 发送电子邮件。
我们的想法是拥有一个中间 SMTP 服务器,它接收来自第三方软件的邮件,并将电子邮件作为 EML 文件写入磁盘。然后,我会有一个 .NET 程序监听这些文件写入磁盘,然后进行必要的更改并将其发送到实际的 SMTP 服务器。
我见过一些应用程序,它们看起来主要用于在发送真实电子邮件之前测试电子邮件代码,但我认为这些应用程序无法满足我们的需求。
是否有人知道一种软件,可以执行接收和写入磁盘部分,并且规模化?
我们将努力让第三方软件修复其问题,但不幸的是,这似乎无法在我们的时间表内完成。
答案1
答案2
很简单。我一直在寻找相同的内容,然后我恍然大悟。使用另一个 smtp 服务器将 eml 文件放入其队列中,方法是告诉它发送到不存在的 smtp 中继。使用 bat 进程或您使用的其他程序来拾取它们,删除失败的传递日志,然后处理它们并放入正在工作的 smtp 服务器拾取文件夹中。完成。:)
答案3
试试这个..非常简单而且好.. http://emailrelay.sourceforge.net/
我们在安全域中使用此工具。在域 ABC 中,此工具监听和接收电子邮件并将其写入磁盘。然后我们将这些文件移动到域 XYZ
在域 XYZ 中,我们有相同的工具设置来扫描本地目录并每 1 分钟发送电子邮件。我们只需将电子邮件文件从 ABC 域移动到此工具正在扫描的目录中的 XYZ 域。