当我开发发送电子邮件的东西时,有时我不想实际发送任何电子邮件,但我确实想查看使用实时数据发送哪些电子邮件。然而,没有一个简单的方法可以做到这一点,因为我还没有找到可以接收我的邮件然后将其保留在队列中以便我可以查看的本地 SMTP 服务器。
在 Windows XP 和 Vista 中,我使用本地安装的 SMTP 服务器,并将其设置为发送到不存在的智能主机 - 邮件永远位于“inetput\mailroot\queue”文件夹中,我可以查看每当我想的时候就可以。然而,在 Windows 7 中,不再有集成的 SMTP 服务器,尽管我找到了许多可以在本地安装并为我中继邮件的 SMTP 服务器,但我想要一个 不会 中继邮件。
有人对如何实现此功能有建议吗?我考虑过自己编写,但如果有的话,实现整个 RFC 规范似乎是一项艰巨的任务。也许有一个开源项目我可以修改它只是将邮件写入磁盘而不是发送它。
Papercut 可能就是您想要的,尽管它仅与 Windows 兼容。
另一个本地测试 SMTP 服务器应用程序: https://nilhcem.github.io/FakeSMTP/
非常棒,免费,跨平台,甚至在 Vagrant 这样的 VM 环境中运行良好:http://mailcatcher.me/
这里是Docker版本:
docker run --name='mailcatcher' -d \
--publish=1080:1080 \
--publish=1025:1025 \
dockage/mailcatcher:0.9.0
您可以使用任何用户名和密码通过 SMTP 发送到端口 1025,并在浏览器中通过 http://localhost:1080 查看所有发送的电子邮件。
您可能想看看NDdumbster