当前位置: 首页 > 知识库问答 >
问题:

如何确保IMAP电子邮件消息上的SEEN标志不会在执行getContent时自动标记为SEEN

丁安宜
2023-03-14

我正在处理与外部IMAP服务器的不良连接。我需要我的应用程序定期从该邮件服务器下载邮件。在许多情况下,我的代码已经使用javamail下载了邮件,并执行了message.getContent,然后正在处理各个身体部位(附件)。在执行此操作的过程中,连接可能会断开。

因此,我需要确保消息不会被标记为在执行消息时自动看到。getContent,这是Javamail的行为方式,如以下回复所述:https://stackoverflow.com/a/7679091/303106

有什么方法可以确保未下载的消息不会被标记为SEEN?

共有2个答案

习海
2023-03-14

可以,使用主体。获取数据时,请查看而不是仅查看正文,和/或使用检查而不是选择打开邮箱。我将把阅读javamail文档作为练习,看看这些选项与havamail提供的特性有何关联。

饶德元
2023-03-14
Message msg = ...;
((IMAPMessage)msg).setPeek(true);
 类似资料:
  • 问题内容: 我想解析来自用户收件箱的一些电子邮件,但是当我这样做时: 它将电子邮件标记为SEEN或已读。这不是所需的功能。您知道如何将电子邮件保持在以前的状态吗? 问题答案: 选择文件夹时,您可能还设置为true:

  • 问题内容: 是否可以使用Java邮件在IMAP邮件上设置自定义标志,而不会覆盖现有标志?例如,我需要在已处理的邮件上设置一个“已处理”标志,而不必将其状态更改为“已查看/已删除”,或者邮件客户端不会干扰此“已处理”标志。 然后,我需要找到所有不具有“已处理”标志的邮件并对其进行处理,然后将它们也标记为“已处理”。 谢谢! 问题答案: 并非所有的IMAP服务器都将支持这些“用户标志”,但大多数都将支

  • 问题内容: 我正在尝试使用IMAP(永久)将消息/消息列表标记为“ \ SEEN ” 。但是,与获取,搜索和朋友不同,imap软件包上似乎没有标记功能。我应该发送带有UID的原始命令吗? 问题答案: 您必须选择可写邮箱 然后只需执行以下操作 最后,您将不得不删除: 而且你应该很好:-) 并且不要犹豫地浏览文档/源代码,这很容易理解,您将找到所需的一切。

  • 我正在为IMAP服务器编程,但遇到了一个问题:电子邮件来自哪里? 我一直认为事件的基本过程是: 发送方客户端使用SMTP协议向SMTP服务器(主机A)发送电子邮件 这让我想知道:电子邮件是如何从接受SMTP的服务器发送到提供服务的IMAP服务器的?他们有协议吗?他们会把它放在目录里吗? 我见过目录的用法——每个用户有一个文件——它似乎不适合大型用户群。当两个进程同时读/写数据时,它不会也会引起问题

  • 我试图创建一个Camel路由,它将并行处理传入的IMAP消息。邮件组件应该将传入的邮件分发到不同的线程(但是每个消息都应该按顺序通过两个处理步骤)。

  • 如何在数据库中存储该电子邮件的唯一ID。 我尝试了$概述=imap_fetch_overview($inbox,$email_number,0);我收到了一堆数字,但问题是当其中一封电子邮件被删除时,数字会发生变化。 如何正确存储?MD5消息还是什么? 基本上,我试图在我的个人网络应用程序上接收电子邮件,在那里我可以管理和访问我自己的电子邮件。它使用imap调用gmail。 无论如何,我可以在哪里