发送到EWS的SOAP消息,将其创建为常规邮件,而不是草稿

Tho*_*lle 2 xml soap exchange-server exchangewebservices

在EWS中,您可以创建像这样的草稿:

<tns:CreateItem MessageDisposition="SaveOnly">
  <tns:Items>
    <t:Message>
      <t:ItemClass>IPM.Note</t:ItemClass>
      <t:Subject>subject</t:Subject>
      <t:Body BodyType="HTML">body</t:Body>
      <t:IsRead>false</t:IsRead>
    </t:Message>
  </tns:Items>
</tns:CreateItem>
Run Code Online (Sandbox Code Playgroud)

我需要添加什么以创建常规消息而不是草稿,就像上面的代码一样(使用SOAP消息,而不是Managed API)?

Tho*_*lle 6

设置扩展的MessageFlags属性可以解决问题!必须在创建时完成。

<tns:CreateItem MessageDisposition="SaveOnly">
  <tns:Items>
    <t:Message>
      <t:ItemClass>IPM.Note</t:ItemClass>
      <t:Subject>subject</t:Subject>
      <t:Body BodyType="HTML">body</t:Body>
      <t:IsRead>false</t:IsRead>
      <t:ExtendedProperty> 
        <t:ExtendedFieldURI PropertyTag="3591" PropertyType="Integer" /> 
        <t:Value>1</t:Value> 
      </t:ExtendedProperty>
    </t:Message>
  </tns:Items>
</tns:CreateItem>
Run Code Online (Sandbox Code Playgroud)

  • 为了解决这些问题,扩展属性`0x0E07`(十进制3591)为`PR_MESSAGE_FLAGS`。将其设置为1就是在新消息上设置MSGFLAG_READ,这似乎无关紧要。但是可以!因为如果将其设置为“ 1”,则意味着您没有“设置”与“ MSGFLAG_UNSENT”相对应的位(恰好是“ 0x00000008”,如果您的“ CreateItem”没有,则为默认值)不指定“ PR_MESSAGE_FLAGS”)。我认为。 (3认同)
  • 请参见[如何:在Exchange中使用EWS导入项目](https://msdn.microsoft.com/zh-cn/library/office/dn672319(v=exchg.150).aspx#bk_importproperties)中的代码示例。 (2认同)