可以用于测试和开发的本地SMTP服务器 - 实际上不会发送邮件

94

当我在开发发送电子邮件的功能时,有时候我并不想实际发送任何电子邮件,但是我确实想看到使用实时数据发送的电子邮件内容。然而,目前还没有一种简单的方法可以做到这一点,因为我还没有找到一个本地SMTP服务器可以接收我的邮件并将其保持在队列中,以便我可以查看它。

在Windows XP和Vista中,我使用本地安装的SMTP服务器,并将其设置为交付到不存在的智能主机 - 邮件可以永久地保存在“inetput \ mailroot \ queue”文件夹中,我想查看邮件时就可以随时调用。 然而,在Windows 7中,不再提供集成SMTP服务器,并且虽然我已经找到了几个可以本地安装并转发邮件的SMTP服务器,但我想要一个不会转发邮件的服务器。

是否有人对如何实现这种功能有建议?我考虑过自己编写一个,但如果已经有类似的项目,仅需将其修改以将邮件写入磁盘而不是交付,则实现整个RFC规范似乎是一个很大的任务。也许有一个开源项目适合我。


Mailnest.io是一种经济实惠的解决方案,它有助于团队之间的协作,如果您的使用量较少,则还提供免费计划。 - Anish John
为了测试目的,fake-smtp-server非常有用。只需一行命令即可启动服务器fake-smtp-server [OPTIONS] [ARGS] - Gagan
4个回答

181

Papercut 可能是您想要的,不过它仅兼容于 Windows。


8
如果我自己写规格书,这个建议将完全符合我的期望,非常感谢! - SqlRyan
3
怎么使用它?我不明白。 - emeraldhieu
2
@Emerald214:下载应用程序并运行它。它在运行时将设置一个SMTP服务器。将您的应用程序配置为使用“localhost”(或运行服务器的计算机)作为SMTP服务器。如果您需要使用非默认端口号,则可以在选项中进行配置。 - RMorrisey
3
非Windows环境怎么办? - Brade
1
为了澄清上述内容,请使用主机:localhost,端口:25(默认值可更改)。 - Savage
显示剩余7条评论

12

这个是基于 Java 的,有点平台无关性。 - Dirk Schumacher
这个服务器的用户名和密码应该是什么?我收到了504错误消息,请求的身份验证机制不受支持。 - siddhesh

3

这是一个很棒的、免费的、跨平台的工具,甚至可以在像Vagrant这样的虚拟机环境中良好运行:http://mailcatcher.me/


1
仅适用于 Mac 用户 - Nico Toub
@NicoToub 你为什么这么说?你需要安装Ruby,但它应该可以在Windows上运行。 - Jimothy
你是正确的,它只能在 macOS 上打包,但如果你知道如何安装它,它也可以在 Linux 和 Windows 上运行。 - Nico Toub

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接