我正在发送带有java邮件的邀请函。接收和回答这些请求工作正常。
现在我想跟踪他们的消息ID对发送的邀请的回复。
我设置了发送的邀请的消息ID,如下所示:
protected void updateMessageID() throws MessagingException {
setHeader("Message-ID", messageID);
setHeader("UID", UIDString);
setHeader("ContentID", "blabla");
}
并在此处使用此方法:
//updates so set attributes don't get overwritten
message.updateMessageID();
//send mail
transport.sendMessage(message, message.getAllRecipients());
当我在“消息选项”(Outlook)下查找时,收到的邀请会显示我的消息ID,但如果我回复它,Outlook会生成自己的消息ID,因此我无法将发送的邀请与他们的回复。
在我看来,Outlook正在丢弃我的其他信息,我的UID和ContentID也会丢失。
有没有人知道如何告诉Outlook使用我给出的Message-ID?或者是否有任何其他ID对于已发送和已接收的邮件是唯一的?
答案 0 :(得分:0)
您可以使用Thread-Index标头。它对应于PR_CONVERSATION_INDEX MAPI属性 - 请参阅http://msdn.microsoft.com/en-us/library/office/cc765583.aspx
如果发送有效的线程索引,则Outlook应该在回复中追加5个字节。然后,您可以从回复中提取原始线程索引。