【问题标题】:Exchange EWS Managed API Error while Updating EmailMessage on certain properties在某些属性上更新 EmailMessage 时出现 Exchange EWS 托管 API 错误
【发布时间】:2015-03-12 23:09:23
【问题描述】:

我正在使用 Exchange 2010 EWS 托管 API 并尝试更新电子邮件 (EmailMessage)。

更新EmailMessage's Sender.Name 属性时,Update() 出现异常,但如果我尝试更新EmailMessage's Subject,它就可以正常工作。

private void UpdateEmail(ItemId itemId)
{
    try
    {
        EmailMessage emailMessage = EmailMessage.Bind(service, itemId, new PropertySet(EmailMessageSchema.Sender, EmailMessageSchema.Subject));

        // Test 1 - this works:
        emailMessage.Subject = "Testing";
        emailMessage.Update(ConflictResolutionMode.AlwaysOverwrite);  

        // Test 2 - this does NOT work (if I comment out the previous 2 lines btw):
        emailMessage.Sender.Name = "John Smith";
        emailMessage.Update(ConflictResolutionMode.AlwaysOverwrite);  // exception thrown
        ...

我从测试 2 中得到以下错误:

The request failed schema validation: The element 'Updates' in namespace 'http:/
/schemas.microsoft.com/exchange/services/2006/types' has incomplete content. Lis
t of possible elements expected: 'AppendToItemField, SetItemField, DeleteItemFie
ld' in namespace 'http://schemas.microsoft.com/exchange/services/2006/types'.

【问题讨论】:

    标签: c# outlook exchange-server exchangewebservices


    【解决方案1】:

    EWS 不支持像您尝试的那样通过强类型属性更改发件人地址。他们可能成功的唯一方法是修改底层扩展属性并在适用的情况下生成一次性或包装的条目ID,您需要更新的道具是

    PR_SENDER_ADDRTYPE_W

    PR_SENDER_EMAIL_ADDRESS_W

    PR_SENDER_NAME_W

    PR_SENDER_ENTRYID

    PR_SENDER_SEARCH_KEY

    PR_SENT_REPRESENTING_EMAIL_ADDRESS_W

    PR_SENT_REPRESENTING_ADDRTYPE_W

    PR_SENT_REPRESENTING_NAME_W

    PR_SENT_REPRESENTING_ENTRYID

    PR_SENT_REPRESENTING_SEARCH_KEY

    请注意,您可能还需要使用 MAPI 编辑器(如 MFCMapi 的 OutlookSpy)自己查看项目。

    干杯 格伦

    【讨论】:

      猜你喜欢
      • 2011-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-11
      • 2021-11-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多