Email 电子邮件测试方法
我正在编写一个程序,它将通过电子邮件向许多(~100)个客户发送报告,我想在向每个人发送垃圾邮件之前对这些客户进行测试 我想对我的生产数据进行测试运行,并实际将消息发送到SMTP服务器,但我不希望SMTP服务器实际传递消息。从我的应用程序的角度来看,我希望服务器像一个真正的SMTP服务器一样工作,但是我不希望传递消息,我只希望它存储消息,并记录发生的事情 是否有专门为测试目的而设计的SMTP服务器 有人知道如何配置exim或postfix,使其像我上面描述的那样工作吗Email 电子邮件测试方法,email,testing,smtp,Email,Testing,Smtp,我正在编写一个程序,它将通过电子邮件向许多(~100)个客户发送报告,我想在向每个人发送垃圾邮件之前对这些客户进行测试 我想对我的生产数据进行测试运行,并实际将消息发送到SMTP服务器,但我不希望SMTP服务器实际传递消息。从我的应用程序的角度来看,我希望服务器像一个真正的SMTP服务器一样工作,但是我不希望传递消息,我只希望它存储消息,并记录发生的事情 是否有专门为测试目的而设计的SMTP服务器 有人知道如何配置exim或postfix,使其像我上面描述的那样工作吗 你用什么来测试大规模电子邮
你用什么来测试大规模电子邮件发送?我个人修改了要测试的电子邮件地址,我将它们发送到我的虚拟帐户,这样我不仅可以验证它们是否发送,而且可以验证它们是否以正确的格式显示。在java中,你可以使用 它易于使用,你可以验证你截获的电子邮件的各个方面 这是一个用于单元测试的JavaSMTP服务器实现。(只需确保将电子邮件重定向到运行dumbster的计算机…)
我刚刚找到了另一个几乎相同的选择: Greenmail还支持带有SSL的POP3、IMAP,因此您可以针对它测试客户端。
(这假定您正在使用.net发送电子邮件)在我的办公室,我们有一个服务器,该服务器设置为始终将所有传入邮件发送到一个地址,而不管邮件的实际地址是谁。我们只需将所有测试环境都指向该服务器,然后看着QA邮箱填满。我不知道它是什么服务器,但可能是有人发现的一些开源东西。鉴于您提到了exim和postfix(我认为这是某种unix的东西),这个答案可能没有它可能有用,但请查看。这是一个为自动测试而设计的假的SMTP服务器。如果你有一个备用的windows邮箱,你可以把Neptune放在上面,然后将你的应用程序配置为“通过”Neptune服务器发送。Sendmail有一个测试模式 您只需使用-bt参数调用sendmail。例如:
/usr/lib/sendmail-bt-Ciu testconfiguration.cf
请注意,在此方法中,Sendmail需要对重写规则进行特殊配置。您需要了解Sendmail如何重写地址,以便为测试模式正确创建.cf文件
编辑:参见本文:在搜索选项时,我发现以下内容可能有用
- 对于.NET,我将配置文件设置为将邮件发送到文件夹,然后您可以让自动测试检查目录和文件
<system.net>
<mailSettings>
<smtp deliveryMethod="SpecifiedPickupDirectory">
<specifiedPickupDirectory pickupDirectoryLocation="c:\pickupDirectory"/>
</smtp>
</mailSettings>
</system.net>
Exim可以配置为接受传入邮件,但不发送邮件。在文档中查找关键字仅队列和仅队列文件。“单元测试邮件的更明智框架” 我听说过一些其他的开发人员从Dumbster迁移到Wiser,并且也迁移了我的测试代码。我开发的一个Java组件每天发送数千封电子邮件,我使用Dumbster和Wiser为不同的电子邮件模板和场景编写了单元测试。我更喜欢聪明一点的 来自Wiser网站()的剪报:
Wiser是Dumbster的智能替代品,它构建在SubEtha SMTP Java库之上,该库允许Java应用程序通过简单易懂的API接收SMTP邮件。电子邮件测试的好程序是(仅限Windows) 这是一个虚拟SMTP服务器。位于系统托盘中,不传递收到的邮件。可以快速查看、保存收到的消息,并检查源/结构
在对我找到的解决方案不满意之后,我最终编写了易于使用的100%Java-->跨平台
支持将电子邮件写入文件、转发电子邮件或简单地在标准输出上打印它们。Post-Hoc是一个纯Java应用程序,对于您正在测试的应用程序来说,它看起来就像SMTP服务器,但它只收集所有电子邮件,并允许您使用web界面检查它们 免费提供,网址:
有关更多信息:如果您希望手动测试电子邮件发送以及电子邮件模板是否具有您所期望的正确类型的html和css,那么我建议您使用maildev。您可以将其作为节点模块和docker容器安装和运行!我发现它对于电子邮件的基本健康测试非常方便。Wow!非常感谢你。只是我一直需要的!美好的谢谢接受这个最好的答案怎么样?dumbster看起来很沮丧,但是谢谢绿信!它有一个standalone.jar,可以在本地启动电子邮件服务器,这正是我所需要的!我一定会试试greenmail@hipokito