java - 当有人回复同一邮件时,可以在发送电子邮件时将标签附加到电子邮件上

标签 java email jakarta-mail

我正在尝试编写一个邮件客户端,该邮件客户端在邮件中发送并读取传入的邮件。我的Google努力并没有产生结果。

在发送邮件时,是否有一种方法可以将标签(用于标识)连接到邮件信封(主题除外),以便当对同一邮件进行答复时,代码可以识别?

仅供引用,我正在使用 java 邮件组件编写客户端。

提前致谢..

最佳答案

正如 Bill Shannon 指出的那样,回复中不会包含任意消息 header 。实际上,回复中的主题可能基本相似。它通常是原始消息主题的前缀版本(例如,带有“Re:”)。用户当然可以编辑主题,而损坏的邮件程序可能会做出各种疯狂的事情。

您应该能够通过使用回复中的 References header 将消息回复与原始消息相关联。此 header 应该包含RFC 2822 ,作为其最后一个元素,是正在回复的消息的消息 ID。从理论上讲,您甚至可以跟踪多个回复回到原始消息,因为 References 应该建立起来,这样您就可以从消息 ID 列表构建整个线程。

也就是说,当你发送你的原始消息时,你应该有一个字段:

Message-ID: <unique-message-id>

在回复中,您应该看到:

References: <unique-message-id>

如果出于某种原因,您希望使用不同于消息 ID 的不同唯一 ID 进行跟踪,您也可以将其放入您的引用列表:

Message-ID: <unique-message-id>
References: <other-id>

在回复中,您应该看到:

References: <other-id> <unique-message-id>

请注意,我重复说了“应该”。此行为仅在 RFC2822 中进行了编码,References header 的行为在原始 RFC822 中定义不当。 .虽然(大概)大多数邮件客户端都遵循 RFC2822,但您可以看到 jwz 解释的关于 threading algorithm in Netscape's mail reader 的警告列表(希望大部分已过时)。 .

关于java - 当有人回复同一邮件时,可以在发送电子邮件时将标签附加到电子邮件上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9470553/

相关文章:

使用 '[' 字符解析电子邮件地址 header 时出现 javax.mail 错误

java - 如何配置 "imaps"接收邮件? Java邮件

spring-boot - 使用java电子邮件获取交货并发送收据

java - 使用 PDFBox 和 BouncyCaSTLe 签署 PDF

java - 如何从任何文件夹运行批处理文件

PHP 表单触发空白

C#.Net 邮件将进入垃圾邮件文件夹

java - javascript click() 和用户使用 JSF 单击按钮之间的行为差​​异

java - 我如何使用 wait/notifyAll

asp.net - 使用 asp.net 创建复杂 html 电子邮件的最佳方法,如何?