我在java中使用gmail api来发送和获取电子邮件。回复电子邮件的主题行改变时,我发现很难检测到已发送电子邮件的回复。有没有解决这个问题的方法?
答案 0 :(得分:0)
告诉电子邮件是回复的唯一确定方法是检查以RE:
开头的主题。
(旁注,对于所有专业信函,这都是good practice,因为更改主题行会使电子邮件链更难编目。)
除了这种方法之外,作为备份,我认为你可以通过编程方式阅读消息正文中的文本。我知道有些电子邮件提供商会更改字体颜色(有时是大小),如果是回复,则会在电子邮件正文中添加淡蓝/红/紫色色调。
答案 1 :(得分:0)
将回复与原始电子邮件关联起来的最可靠方法是使用in-reply-to标头。
但是,当主题行发生更改时,对于大多数电子邮件提供商(如gmail,yahoo)甚至在使用Outlook客户端时,回复标题都没有回来
我们发现只有outlook.com域返回in-reply-to标头,即使主题行被修改。
所有这些都是完全合法的,因为以下是RFC Page
中提到的内容3.6.5。信息领域
信息字段都是可选字段。 "关键字:"场
包含一个逗号分隔的一个或多个单词列表或
带引号的字符串。 "主题:"和#34;评论:"字段是
2.2.1节中定义的非结构化字段,因此可以是 包含文字或折叠白色空间。subject ="主题:"非结构化CRLF
comments ="评论:"非结构化CRLF
keywords ="关键字:"短语*(","短语)CRLF
这三个字段仅包含人类可读的内容 有关消息的信息。 "主题:"场是最多的 common,包含一个标识主题的短字符串 信息。当在回复中使用时,字段正文可以以
开头 字符串" Re:" (来自拉丁语" res",在此问题上),然后是 "主题的内容:"原始信息的字体。
如果这样做,只有一个文字字符串的实例" Re:"应该 因为使用其他字符串或多个实例可以使用 导致不良后果。 "评论:"字段包含任何 对消息正文的补充评论。该
"关键词:"字段包含以逗号分隔的重要单词列表
和可能对收件人有用的短语。