我想测试用于发送电子邮件的Java代码。我不想使用任何商业邮件客户端或连接到任何外部邮件提供商(如Gmail或Yahoo)。我想知道是否有任何软件允许用户配置虚拟电子邮件地址和服务器(本地),可以在我的软件中用于发送和接收邮件。我只是想测试Java代码的功能。
答案 0 :(得分:24)
对于电子邮件测试,请尝试Dumbster。从他们的页面:
Dumbster是一个非常简单的虚假SMTP服务器,专为单位和 系统测试发送电子邮件的应用程序。它响应 所有标准SMTP命令,但不向用户传递消息。 消息存储在Dumbster中以供以后提取和使用 验证
Dumbster非常容易插入您的测试策略。如 只要您的应用程序使用SMTP与电子邮件服务器对话,那么 Dumbster可用于测试应用程序而无需更改代码。
由于原始页面不再可用,因此存在各种福利:
可以找到更多内容答案 1 :(得分:17)
我更喜欢Fake SMTP。它是一个桌面应用程序(打包到jar文件中)。由于它是用Java编写的,因此您可以从Linux / Mac / Windows
运行它答案 2 :(得分:8)
试试GreenMail。它面向JUnit的使用,但它应该做你需要的。您可以在JBoss实例中运行它,或让您的JUnit测试向自己发送邮件,具体取决于您的具体需求。
还有一些其他类似的软件,但那是我使用过的并且相当满意的。
答案 3 :(得分:8)
您可以在SubEthaSMTP库中使用Wiser,Wiser的目的正是您想要的,单元测试。
答案 4 :(得分:3)
在Leopard上,您可以在OS-X Leopard上启动本地SMTP服务器(Postfix)
sudo vi /System/Library/LaunchDaemons/org.postfix.master.plist
在结束时的结束标记之前:
<key>RunAtLoad</key> <true/> <key>KeepAlive</key> <true/>
然后用
开始sudo postfix start
现在您检查服务正在运行:
telnet localhost 25
答案 5 :(得分:3)
javamail-file-transport 将电子邮件保存到文件,而不是通过SMTP服务器发送。
在GitHub上查看 javaMail extensions 项目。
它添加文件传输,允许:
text
格式将邮件保存到文件而不是发送mbox
格式将邮件保存到文件而不是发送答案 6 :(得分:3)
我已经使用了Mailtrap几次,我可以推荐它。
答案 7 :(得分:1)
use the Aspirin 来自文档:Aspirin是Java开发人员可嵌入的仅发送SMTP服务器。
答案 8 :(得分:1)
惊人的码头工作人员
https://hub.docker.com/r/mailhog/mailhog/
(gitHub - https://github.com/mailhog/MailHog)
这个码头有两个端口:
一个用于发送SMTP电子邮件的端口(smtp://0.0.0.0:1025 /)
网络上电子邮件显示的第二个端口(http://0.0.0.0:8025/)
运行docker:
docker run --name=mailhog -d -p 1025:1025 -p 8025:8025 mailhog/mailhog
_Layout.cshtml
答案 9 :(得分:0)