我正在编写一个程序,通过电子邮件发送许多(~100)客户端的报告,我想在我向所有人发送垃圾邮件之前对其进行测试.
我想对我的生产数据进行测试运行并实际将消息发送到SMTP服务器,但我不希望SMTP服务器实际传递消息.我希望服务器从我的应用程序的角度看起来像一个真正的SMTP服务器,但不是传递消息,我只是希望它存储消息,并记录发生的事情.
是否有专为测试目的而设计的SMTP服务器?
有没有人知道配置exim或postfix的方法,就像我上面描述的那样
您用什么来测试群发电子邮件?
在java中你可以使用dumbster
它易于使用,您可以验证您拦截的电子邮件的各个方面.
它是用于单元测试的Java SMTP服务器实现.(只需确保将电子邮件重定向到运行dumbster的计算机...)
我刚刚发现了另一种几乎相同的替代品:Greenmail
Greenmail还支持POP3,IMAP和SSL,因此您可以针对它测试您的客户端.
对于.NET,我将配置文件设置为将邮件传递到文件夹,然后您可以让自动化测试检查目录和文件.
在搜索选项时,我发现以下内容可能有用.
DevNullSmtp
使用空SMTP服务器进行测试
假SMTP服务
twisted examples/emailserver.tac
"用于测试邮件的更明智的框架"
我听说过其他一些开发人员从Dumbster转移到Wiser并且也迁移了我的测试代码.我工作过的Java组件之一每天发送数千封电子邮件,我使用Dumbster和Wiser为不同的电子邮件模板和方案编写了单元测试.我更喜欢Wiser.
来自Wiser网站(http://code.google.com/p/subethasmtp/wiki/Wiser)的剪辑:
维泽是Dumbster智能更换,是建立在SubEtha SMTP Java库,让您的Java应用程序来接收SMTP邮件用一个简单的,易于理解的API之上.
一个很好的电子邮件测试程序是smtp4dev(仅限Windows).
这是一个虚拟的SMTP服务器.进入系统托盘并且不传送收到的消息.可以快速查看,保存收到的消息并检查源/结构.
http://smtp4dev.codeplex.com/