我想在本地测试 JavaMail,所以我需要一个邮件服务器。我可以使用任何免费的邮件服务器吗?
7 回答
还有一个使用非常简单的GreenMail,它被设计为用于自动单元(自集成?)测试的邮件服务器。
从项目网页(现在可能还有其他一些具有该功能的工具):
GreenMail 是一个开源、直观且易于使用的电子邮件服务器测试套件,用于测试目的。支持带有 SSL 套接字支持的 SMTP、POP3、IMAP。GreenMail 还提供了 JBoss GreenMail 服务。
GreenMail 是第一个也是唯一一个为从 Java 接收和检索电子邮件提供测试框架的库。
你看过Apache James吗?这是一个 Java 邮件服务器,这意味着您可以将它作为单元测试设置的一部分临时运行(显然之后将其关闭)
我正在追求一个“真正的”测试端点,所以会看看 James,但可以做一些更轻量级的事情。
以前我使用过“Mock JavaMail”,您将其放入您的类路径中,它可以作为所有帐户和消息的内存邮件存储。https://mock-javamail.dev.java.net/
注册一个 Gmail 帐户,然后使用那里的设置。有关详细信息,请参阅此页面:
http://mail.google.com/support/bin/answer.py?hl=en&answer=13287
这为您提供了一个 SMTP 服务器。
您的 ISP 是否为您提供免费邮件服务?一种只允许从他们的 IP 之一发送?
不知道 JavaMail 中的 SMTP Auth 支持是什么样的,但如果您有帐户,则可以使用 gmail 的 smtp。
我喜欢“测试邮件服务器工具”。它作为邮件服务器在您的 PC 上运行,将电子邮件写入某个文件夹,您可以将其设置为在收到电子邮件时弹出一个窗口。
你可以试试 JavaMail Mock2 https://github.com/salyh/javamail-mock2
它主要专注于 IMAP/POP3,但也可以使用 SMTP Mock。它在 Maven 中心可用。
特征
- 支持imap、imaps、pop3、pop3s、smtp、smtps
- 支持 POP3:cast to POP3Folder, Folder.getUID(Message msg)
- 支持 IMAP:转换为 IMAPFolder、转换为 UIDFolder、子文件夹、-Folder.getMessagesByUID(...)、删除/重命名文件夹、附加消息
- 支持 SMTP:模拟 Transport.send()
- 暂时不支持:IMAP 扩展,如 IDLE、CONDSTORE 等,以及强制转换为 POP3Message/IMAPMessage,存储侦听器