【发布时间】:2012-01-25 20:29:02
【问题描述】:
我想测试一个用于发送电子邮件的 Java 代码。我不想使用任何商业邮件客户端或连接到任何外部邮件提供商(如 Gmail 或 Yahoo)。我想知道是否有任何软件允许用户配置虚拟电子邮件地址和服务器(本地),可以在我的软件中用于发送和接收邮件。我只是想测试一下Java代码的功能。
【问题讨论】:
我想测试一个用于发送电子邮件的 Java 代码。我不想使用任何商业邮件客户端或连接到任何外部邮件提供商(如 Gmail 或 Yahoo)。我想知道是否有任何软件允许用户配置虚拟电子邮件地址和服务器(本地),可以在我的软件中用于发送和接收邮件。我只是想测试一下Java代码的功能。
【问题讨论】:
试试GreenMail。它适用于 JUnit 的使用,但它应该可以满足您的需求。您可以在 JBoss 实例中运行它,或者让您的 JUnit 测试向自己发送邮件,具体取决于您的具体需求。
还有一些其他类似的软件,但那是我用过的那个,并且对它相当满意。
【讨论】:
对于电子邮件测试,请尝试 Dumbster。从他们的页面:
Dumbster 是一个非常简单的伪造 SMTP 服务器,专为单位和 系统测试发送电子邮件的应用程序。它回应 所有标准 SMTP 命令,但不向用户传递消息。 消息存储在 Dumbster 中以供以后提取和 验证。
Dumbster 很容易将自己纳入您的测试策略。作为 只要您的应用程序使用 SMTP 与电子邮件服务器通信,那么 Dumbster 可用于测试应用程序,无需更改代码。
由于原始页面不再可用,因此存在各种分叉:
可以使用Github Search找到更多信息
【讨论】:
你可以在SubEthaSMTP库中使用Wiser,Wiser的目的正是你想要的,单元测试。
【讨论】:
在 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
【讨论】:
javamail-file-transport 将电子邮件保存到文件中,而不是通过 SMTP 服务器发送。
查看 GitHub 上的 javaMail extensions 项目。
它添加了文件传输,允许:
text 格式的文件中,而不是发送它们mbox 格式的文件中,而不是发送它们【讨论】:
我更喜欢Fake SMTP。这是一个桌面应用程序(打包到 jar 文件中)。由于它是用 Java 编写的,因此您可以在 Linux/Mac/Windows 上运行它
【讨论】:
Mailtrap我用过几次,可以推荐一下。
【讨论】:
use the Aspirin 来自文档:Aspirin 是面向 Java 开发人员的嵌入式仅发送 SMTP 服务器。
【讨论】:
选项 A。
令人惊叹的码头工人
https://hub.docker.com/r/mailhog/mailhog/
(gitHub - https://github.com/mailhog/MailHog)
这个 docker 有两个端口:
一个用于发送 SMTP 电子邮件的端口 (smtp://0.0.0.0:1025/)
网络上显示电子邮件的第二个端口 (http://0.0.0.0:8025/)
运行泊坞窗:docker pull mailhog/mailhogdocker run --name=mailhog -d -p 1025:1025 -p 8025:8025 mailhog/mailhog
选项 B。
如果您与bamboo.mailer 一起使用
添加adapter: Bamboo.LocalAdapter
见Bamboo.SentEmailViewerPlug.