首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Gmail IMAP Javamail搜索不返回任何邮件,而web返回

Gmail IMAP Javamail搜索不返回任何邮件,而web返回
EN

Stack Overflow用户
提问于 2018-08-16 01:32:25
回答 2查看 146关注 0票数 0

我正在对一个通过电子邮件发送链接的web应用程序进行负载测试。我有一个专门为此设置的gmail帐户收件人。在生成新帐户时,我会将guid添加到收件人电子邮件中(例如,loadtest_nmndbiwpdi@gmaildomain.com).当我执行测试时,它要么完全成功,要么完全失败,但失败似乎是相当随机的。

这是我的搜索片段:

代码语言:javascript
复制
        if (!inbox.isOpen()) {
            inbox.open(Folder.READ_ONLY);
        }

        SearchTerm toTerm = new RecipientTerm(RecipientType.TO, new InternetAddress(to));
        messages = inbox.search(toTerm);

当脚本运行时,它在100次迭代循环中执行此操作,并暂停3秒。在重复打开imap调试的情况下,脚本输出失败时会显示以下内容:

代码语言:javascript
复制
A4 SEARCH TO loadtest_nmndbiwpdi@gmaildomain.com ALL
* SEARCH
A4 OK SEARCH completed (Success)

但是没有实际的结果。然而,在执行期间,我可以在gmail中搜索这个收件人,它会立即弹出。有什么建议可以弄清楚这件事吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-21 01:16:04

我实现了一个本地缓存。我在负载测试场景开始时初始化它,下载最近几天的消息并捕获最后的消息UID (使用gmail imap插件)。每当会话查找电子邮件时,它都会在本地缓存中查找。如果它不在那里,它会设置一个标志,以便其他会话不会与缓存重叠,并检索最新的消息。

因为它是间歇性的,所以我想给它几天。在过去的4天里,它运行得很完美。我也许可以做得更好一些,为新邮件设置一个监听程序,但现在我很满意gmail只返回‘成功’,而不是在连续搜索了这么多imap之后进行搜索。

感谢大家的反馈和建议!

票数 0
EN

Stack Overflow用户

发布于 2018-08-16 06:17:38

Gmail并没有完全实现IMAP规范,特别是在搜索方面。Gmail搜索总是搜索整个单词,尽管这在这里应该不是问题。

您可以尝试使用Gmail-specific support in JavaMail,例如GmailRawSearchTerm类。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51863628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档