一个简单的本地SMTP服务器

时间:2011-12-22 05:32:07

标签: java email testing smtp

我想测试用于发送电子邮件的Java代码。我不想使用任何商业邮件客户端或连接到任何外部邮件提供商(如Gmail或Yahoo)。我想知道是否有任何软件允许用户配置虚拟电子邮件地址和服务器(本地),可以在我的软件中用于发送和接收邮件。我只是想测试Java代码的功能。

10 个答案:

答案 0 :(得分:24)

对于电子邮件测试,请尝试Dumbster。从他们的页面:

  

Dumbster是一个非常简单的虚假SMTP服务器,专为单位和   系统测试发送电子邮件的应用程序。它响应   所有标准SMTP命令,但不向用户传递消息。   消息存储在Dumbster中以供以后提取和使用   验证

     

Dumbster非常容易插入您的测试策略。如   只要您的应用程序使用SMTP与电子邮件服务器对话,那么   Dumbster可用于测试应用程序而无需更改代码。

由于原始页面不再可用,因此存在各种福利:

使用Github Search

可以找到更多内容

答案 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)

您可以使用smtp4dev。请详细了解here