JavaMail测试的邮件服务器

12

我想在本地测试JavaMail,因此需要一个邮件服务器。有没有可以免费使用的邮件服务器?

7个回答

21

还有一个非常简单易用的GreenMail,它被设计为邮件服务器,用于自动单元(自我集成?)测试。

从项目网页上可以看到(也许现在有一些其他具有该功能的工具):

GreenMail是一个开源、直观且易于使用的电子邮件服务器测试套件。支持带SSL套接字支持的SMTP、POP3、IMAP。GreenMail还提供了JBoss GreenMail服务。

GreenMail是第一个也是唯一一个为Java提供接收和检索电子邮件的测试框架的库。


1
Greenmail非常好用,它可以让你轻松编写非常受控的单元测试。我强烈推荐使用它。 - GreenKiwi
我喜欢它的简单性。只需两行代码即可启动所有服务器。smtp 3025 smtps 3465 pop3 3110 pop3s 3995 imap 3143 imaps 3993 - so_mv
2
很遗憾,它不支持IMAP IDLE命令:( - Barry NL
@BarryNL 你为此创建了一个问题吗?https://github.com/greenmail-mail-test/greenmail/issues - Marcin Zajączkowski
1
这是一个请求IMAP IDLE的问题:https://github.com/greenmail-mail-test/greenmail/issues/275 - seanf

10

你看过Apache James吗? 这是一个Java邮件服务器,这意味着你可以将其作为单元测试设置的一部分暂时运行(并在之后关闭它)。


7
我需要一个“真实”的测试端点,所以会看看James,但需要更轻量级的东西。之前我使用过“Mock JavaMail”,它可以作为一个内存中的邮件存储,并处理所有帐户和消息。 https://mock-javamail.dev.java.net/

2
现在位于这里:http://java.net/projects/mock-javamail/ - Nate
Mock-JavaMail 对我来说真是救命稻草! - Nick Grealy

6

1
我不建议使用Gmail账户进行大量的单元测试。我的账户因违反Google服务条款而被禁用了一段时间。 - Kuba Spatny

0

我喜欢“测试邮件服务器工具”。它可以在您的电脑上作为邮件服务器运行,将邮件写入某个文件夹,并且您可以设置当有邮件到达时弹出窗口。

http://www.toolheap.com/test-mail-server-tool/


0

你可以尝试使用JavaMail Mock2 https://github.com/salyh/javamail-mock2

它主要专注于IMAP/POP3,但也提供了SMTP模拟。它可以在Maven中央库中获取。

特点

  • 支持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的转换和存储监听器

0

你的ISP是否提供免费的邮件服务?只允许从他们的IP地址发送邮件?

不知道JavaMail中SMTP Auth支持如何,但如果你有一个Gmail账户,你可能可以使用它的SMTP。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接