如何开发和测试发送电子邮件的应用程序(不填写带有测试数据的某人的邮箱)?

Pat*_*ney 128 language-agnostic email testing smtp

我有很多发送电子邮件的应用程序.有时它一次只有一两条消息.有时它是成千上万的消息.

在开发过程中,我通常通过将自己的地址替换为任何收件人地址来进行测试.我确信这是其他人所做的,直到他们厌倦了它并找到更好的解决方案.

我正在考虑创建一个虚拟SMTP服务器,它只捕获消息并将它们转储到SQLLite数据库或mbox文件或其他任何内容中.

肯定这样的工具已经存在?你如何测试发送电子邮件?

rnw*_*ood 84

几个星期前我遇到了同样的问题并写了这个:http://smtp4dev.codeplex.com

Windows 7/Vista/XP/2003/2010兼容虚拟SMTP服务器.进入系统托盘并且不传送收到的消息.可以快速查看,保存收到的消息并检查源/结构.用于测试/调试生成电子邮件的软件.

  • 很好,当它工作但很容易崩溃. (4认同)
  • 对于它的价值,在Windows 7 - 64位上,smtp4dev不起作用,但http://papercut.codeplex.com/做了.邮件是使用JavaMail生成的. (2认同)

Joo*_*oop 73

几个月前,我遇到了.NET平台的以下解决方案.

<system.net>
  <mailSettings>
    <smtp deliveryMethod="SpecifiedPickupDirectory">
      <specifiedPickupDirectory pickupDirectoryLocation="C:\TestMailMessages\" />
    </smtp>
  </mailSettings>
</system.net>
Run Code Online (Sandbox Code Playgroud)

只需将上面的代码放在App.config或Web.config中即可.现在发送消息时,它将作为文件存储在您提供的"pickupDirectoryLocation"目录中.奇迹般有效.

  • 啊哈!除非您事先创建文件夹,否则会引发异常.好戏! (4认同)
  • 真棒,零安装......对我来说很棒.谢谢! (3认同)

Ada*_*dge 18

现在有一个基于Web的Papercut版本.

基于应用程序的版本也适合我.


Fre*_*dou 14

Dumbster可能就是你想要的.它是一个用Java编写的开源虚假SMTP服务器.它取代了真正的SMTP服务器,因此您可以在真实的环境中测试您的应用程序,而无需删除任何代码.您可以确保将正确的邮件发送到SMTP服务器,而不实际传递邮件.


txy*_*oji 9

这类似于smtp4dev,除了在java中实现,因此它适用于非Windows开发人员.

http://www.aboutmyip.com/AboutMyXApp/DevNullSmtp.jsp


Ali*_*xel 6

还有PapercutNeptune,太糟糕了,这些都不能以便携的方式运行.

  • 刚试过Papercut.效果很好,并具有能够在UI中查看电子邮件的额外功能. (4认同)

Adr*_*ark 6

我多年来一直在使用ToolHeap的"测试邮件服务器工具".

http://www.toolheap.com/test-mail-server-tool/

它是一个简单的应用程序,在您的系统托盘中运行并将电子邮件转储到文件夹.它还可以配置为打开默认邮件程序中的每个电子邮件.


Per*_*ium 5

如果您使用的是Java,我会使用Wiser:Wiser是一个简单的SMTP服务器,可用于发送邮件的单元测试应用程序.