Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
设置已发送邮件的邮件ID为';收到的邮件不一样。(Java邮件)_Java_Email_Outlook_Jakarta Mail_Icalendar - Fatal编程技术网

设置已发送邮件的邮件ID为';收到的邮件不一样。(Java邮件)

设置已发送邮件的邮件ID为';收到的邮件不一样。(Java邮件),java,email,outlook,jakarta-mail,icalendar,Java,Email,Outlook,Jakarta Mail,Icalendar,我正在用java mail发送ical邀请。接收和回答这些请求很好。 现在,我想通过邮件ID跟踪对已发送邀请的回复。 我将已发送邀请的邮件ID设置为: protected void updateMessageID() throws MessagingException { setHeader("Message-ID", messageID); setHeader("UID", UIDString); setHeader("ContentID


我正在用java mail发送ical邀请。接收和回答这些请求很好。
现在,我想通过邮件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使用给定的邮件ID吗?或者是否有任何其他ID对于发送和接收的邮件是唯一的?

您可以使用线程索引头。它对应于PR_CONVERSATION_INDEX MAPI属性-请参阅

如果您发送了有效的线程索引,Outlook应该在回复中额外添加5个字节。然后可以从回复中提取原始线程索引