UniqueBody不是很独特吗?

Det*_*ium 6 c# exchangewebservices ews-managed-api

我正在尝试用HTML阅读电子邮件的内容.我的问题是,虽然我正在加载,但我的身体并不是很独特EmailMessageSchema.UniqueBody.

这是我期望的解决方案:

var props = new PropertySet(BasePropertySet.IdOnly, 
    EmailMessageSchema.UniqueBody,
    EmailMessageSchema.Subject,
    EmailMessageSchema.To,
    EmailMessageSchema.From
    /*Futher properties if needed*/);

props.RequestedBodyType = BodyType.HTML;

var message = EmailMessage.Bind(subscription.Service, item.ItemId, props);

// Should be unique
var uniqueBody = message.UniqueBody.Text;
Run Code Online (Sandbox Code Playgroud)

在调试和调查我的uniqueBody变量时,我可以清楚地看到这不是唯一的.它需要在当前电子邮件之前收集整个电子邮件正文(因为当前的电子邮件是回复,我不希望得到回复的电子邮件内容).

我不确定我理解EmailMessageSchema.UniqueBody财产的概念,或者我只是做错了什么?

那么,如何在没有父母身体的情况下获得回复电子邮件的独特主体?

Nic*_*s R 5

说明:

如文档(此处链接)中所定义,UniqueBody是:

该项目所属的会话所特有的正文部分

这句话的主要部分是conversation:它是来自你邮箱的概念,而不是来自消息的概念.因此,该字段UniqueBody将仅在初始消息之后为您提供消息的最新部分.

对于第一条消息,即使它包含多条消息(由于转发或回复),UniqueBody也将包含所有内容.


样品:

我使用外部地址"mailA"将邮件从"mailB"转发到"mailEWS",这将是我使用EWS查询电子邮件的地址.我在此向前添加了一条评论,名为"Forwarded email sample".

这是我在"mailEWS"中收到消息时得到的内容:

<html>
   <body>
      <div>
         <div>
            <div dir="ltr">
               <span dir="ltr">
                  Forwarded email sample
                  <div>
                     <br>
                     <div>
                        Test from MailB &lt;<a href="mailto:mailA@gmail.com" target="_blank">mailA@gmail.com</a>&gt;:<br>
                        <div style="margin:0 0 0 0.8ex;padding-left:1ex;border-left:1px solid #CCCCCC;">Dear user,<br>
                           <br>
                           Content of initial email from mailB<br>
                           <br>
                           Sincerely,<br>
                           Test<br>
                        </div>
                     </div>
                  </div>
               </span>
            </div>
         </div>
      </div>
   </body>
</html>
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我得到了原始信息和对前锋的评论.

然后: - mailEWS回复(text ="回复1" - mailA回复该回复(回复文本是"来自外部地址回复")

所以当我使用EWS获取UniqueBody时,我的mailEWS邮箱中收到了一条新消息:

<html>
   <body>
      <div>
         <div>
            <div dir="ltr"><span dir="ltr">Reply from external address</span></div>
            <div><br>
            </div>
         </div>
      </div>
   </body>
</html>
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我只在对话中获得了消息的最新部分,而不是之前的所有回复(但这些项目都在Body字段中)