设置一个 SMTP 服务器来捕获和存储所有邮件

设置一个 SMTP 服务器来捕获和存储所有邮件

我需要在开发环境中设置一个 SMTP 服务器,该服务器将接受发送给它的所有邮件(任何域的邮件)并简单地存储它,以便我们稍后可以查看它捕获了什么。设置它的最简单方法是什么?(可以是任何操作系统/设置,因为我们可能会将其作为新 VM 执行)

为了获得加分,它能否捕获并存储除发送至@mydomain.com 的邮件(应正常发送)之外的所有邮件?

答案1

你可以用进出口。Devnull 之类的东西的优点在于它将作为“开箱即用”的后台进程运行,并且绝对可以通过正常方式处理“@mydomain.com”电子邮件的传递。它是一个具有非常灵活配置的普通 SMTP 服务器。

我们使用 Exim 存档我们域的入站和出站电子邮件(BSMTP 格式)。我们使用的基本“配方”是一个“路由器”来捕获传入邮件,另一个“路由器”来捕获传出邮件。每个路由器都会调用一个传输,该传输会保存到带有日期戳的文件 (/var/log/exim/archive-${substr{0}{8}{$tod_zulu}})。路由器的最后一行包含一个“未见”以使消息遍历配置文件中的其余路由器(以执行“正常传送”)。您可能不需要该“未见”功能。

我觉得Exim 文档是一流的,而且一旦你理解了这个比喻,它就很容易配置。

答案2

Devnull SMTP 服务器将电子邮件保存到文件中。它是纯 Java,因此不存在 JVM 之外的依赖关系。

相关内容