用于 JavaMail 测试的邮件服务器 [关闭]
Posted
技术标签:
【中文标题】用于 JavaMail 测试的邮件服务器 [关闭]【英文标题】:Mail server for JavaMail testing [closed] 【发布时间】:2010-11-05 04:58:15 【问题描述】:我想在本地测试 JavaMail,所以我需要一个邮件服务器。有没有我可以使用的免费邮件服务器?
【问题讨论】:
【参考方案1】:还有一个非常简单易用的GreenMail,它被设计成一个邮件服务器,用于自动单元(自集成?)测试。
来自项目网页(也许现在还有其他一些具有该功能的工具):
GreenMail 是一个开源的、直观的 和易于使用的电子邮件测试套件 用于测试目的的服务器。支持 带有 SSL 套接字的 SMTP、POP3、IMAP 支持。 GreenMail 还提供了一个 JBoss GreenMail 服务。
GreenMail 是第一个也是唯一一个库 为两者提供了一个测试框架 接收和检索来自 Java。
【讨论】:
Greenmail 很棒,它可以让您轻松编写非常可控的单元测试。我强烈推荐它。 我喜欢简洁。它用两行代码启动所有服务器。 smtp 3025 smtps 3465 pop3 3110 pop3s 3995 imap 3143 imaps 3993 很遗憾,它不支持 IMAP IDLE 命令 :( @BarryNL 您是否为此创建了问题? github.com/greenmail-mail-test/greenmail/issues 这是一个请求 IMAP IDLE 的问题:github.com/greenmail-mail-test/greenmail/issues/275【参考方案2】:你看过Apache James 吗?这是一个 Java 邮件服务器,这意味着您可以将它作为单元测试设置的一部分临时运行(显然之后将其关闭)
【讨论】:
【参考方案3】:我正在寻找一个“真正的”测试端点,所以会看看 James,但可以做一些更轻量级的事情。
以前我使用过“Mock JavaMail”,您将其放入您的类路径中,它可以作为所有帐户和消息的内存邮件存储。 https://mock-javamail.dev.java.net/
【讨论】:
现在位于:java.net/projects/mock-javamail Mock-JavaMail 是我的救星!【参考方案4】:注册一个 Gmail 帐户,然后使用那里的设置。有关详细信息,请参阅此页面:
http://mail.google.com/support/bin/answer.py?hl=en&answer=13287
这会给你一个 SMTP 服务器。
【讨论】:
我不建议使用 Gmail 帐户进行广泛的单元测试。一段时间后,我的手机因违反 Google 服务条款而被停用。【参考方案5】:您的 ISP 是否为您提供免费邮件服务?一种只允许从他们的 IP 之一发送?
不知道 JavaMail 中的 SMTP Auth 支持是什么样的,但如果你有一个帐户,你也许可以使用 gmail 的 smtp。
【讨论】:
【参考方案6】:我喜欢“测试邮件服务器工具”。它作为邮件服务器在您的电脑上运行,将电子邮件写入某个文件夹,您可以将其设置为在收到电子邮件时弹出一个窗口。
http://www.toolheap.com/test-mail-server-tool/
【讨论】:
【参考方案7】:你可以试试 JavaMail Mock2 https://github.com/salyh/javamail-mock2
它主要专注于 IMAP/POP3,但也可以使用 SMTP Mock。它在 maven Central 中可用。
特点
支持 imap、imaps、pop3、pop3s、smtp、smtps 支持 POP3:强制转换为 POP3Folder、Folder.getUID(Message msg) 支持 IMAP:转换为 IMAPFolder、转换为 UIDFolder、子文件夹、-Folder.getMessagesByUID(...)、删除/重命名文件夹、附加消息 支持 SMTP:模拟 Transport.send() 暂时不支持:IMAP 扩展,如 IDLE、CONDSTORE 等,并强制转换为 POP3Message/IMAPMessage,存储侦听器【讨论】:
以上是关于用于 JavaMail 测试的邮件服务器 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章