Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.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
C# Outlook加载项中的Recipient.Name和ExchangeUser.Name之间有什么区别?_C#_Wpf_Outlook_Outlook Addin - Fatal编程技术网

C# Outlook加载项中的Recipient.Name和ExchangeUser.Name之间有什么区别?

C# Outlook加载项中的Recipient.Name和ExchangeUser.Name之间有什么区别?,c#,wpf,outlook,outlook-addin,C#,Wpf,Outlook,Outlook Addin,有以下两个对象: Microsoft.Office.Interop.Outlook.Recipient() Microsoft.Office.Interop.Outlook.ExchangeUser() 它们都有一个name属性,在我的例子中似乎是相同的,我可以使用Recipient.AddressEntry.GetExchangeUser()从Recipient转换到ExchangeUser。我使用哪个名称属性重要吗?这两个方面有什么区别(从文档的写/读差异中可以看出旁白)。我不是微软产品线的

有以下两个对象:

  • Microsoft.Office.Interop.Outlook.Recipient
    ()
  • Microsoft.Office.Interop.Outlook.ExchangeUser
    ()

  • 它们都有一个name属性,在我的例子中似乎是相同的,我可以使用
    Recipient.AddressEntry.GetExchangeUser()
    Recipient
    转换到
    ExchangeUser
    。我使用哪个
    名称
    属性重要吗?这两个方面有什么区别(从文档的写/读差异中可以看出旁白)。

    我不是微软产品线的专家。但仅仅从命名上看,Outlook是一个客户端,Exchange是一个服务器

    也就是说,您可以在Outlook客户端中使用收件人对象来指代收件人,无论实际的邮件服务器是什么,它可以是Exchange(如您的情况),也可以是Gmail、Yahoo!Mail,Mail.live.com,随便什么

    ExchangeUser对象专门用于Exchange邮箱用户,这通常是在企业中设置的。因此,您可以找到收件人对象没有的详细属性,如JobTitle和OfficeLocation(以及更多)

    此对象提供对适用于Exchange用户的属性(如FirstName、JobTitle、LastName和OfficeLocation)的一流访问


    请注意,如果未连接到Exchange服务器,则无法使用Recipient.AddressEntry.GetExchangeUser()。

    我不是Microsoft产品线方面的专家。但仅仅从命名上看,Outlook是一个客户端,Exchange是一个服务器

    也就是说,您可以在Outlook客户端中使用收件人对象来指代收件人,无论实际的邮件服务器是什么,它可以是Exchange(如您的情况),也可以是Gmail、Yahoo!Mail,Mail.live.com,随便什么

    ExchangeUser对象专门用于Exchange邮箱用户,这通常是在企业中设置的。因此,您可以找到收件人对象没有的详细属性,如JobTitle和OfficeLocation(以及更多)

    此对象提供对适用于Exchange用户的属性(如FirstName、JobTitle、LastName和OfficeLocation)的一流访问


    请注意,如果未连接到Exchange服务器,则无法使用Recipient.AddressEntry.GetExchangeUser()。

    收件人对象作为收件人表中的一行存储在邮件本身中<代码>收件人。名称
    对应于
    PR\u DISPLAY\u Name
    。 该行中的
    PR\u ENTRYID
    属性(如果收件人已解析,则存在)指向通讯簿对象。这就是
    Recipient.AddressEntry
    返回的内容-它使用收件人的
    PR\u ENTRYID
    调用
    IAddrBook::OpenEntry

    返回的
    AddressEntry.Name
    理论上可以与
    Recipient.Name
    不同(一个来自通讯簿对象,另一个来自消息收件人表中的
    PR\u DISPLAY\u Name
    ExchangeUser
    本质上是具有Exchange特定属性的
    AddressEntry
    对象的扩展,因此
    ExchangeUser.Name
    应该与
    AddressEntry.Name
    相同


    您可以使用-选择一条消息,转到GetRecipientTable选项卡来查看此消息。右键单击
    PR\u ENTRYID
    属性,然后选择
    IMAPISession::OpenEntry
    。您还可以将
    PR\u DISPLAY\u NAME
    属性编辑为与GAL对象不同的内容<保存邮件时,邮件上的code>PR\u DISPLAY\u TO
    属性将反映新的收件人名称。

    收件人对象作为收件人表中的一行存储在邮件本身中<代码>收件人。名称对应于
    PR\u DISPLAY\u Name
    。 该行中的
    PR\u ENTRYID
    属性(如果收件人已解析,则存在)指向通讯簿对象。这就是
    Recipient.AddressEntry
    返回的内容-它使用收件人的
    PR\u ENTRYID
    调用
    IAddrBook::OpenEntry

    返回的
    AddressEntry.Name
    理论上可以与
    Recipient.Name
    不同(一个来自通讯簿对象,另一个来自消息收件人表中的
    PR\u DISPLAY\u Name
    ExchangeUser
    本质上是具有Exchange特定属性的
    AddressEntry
    对象的扩展,因此
    ExchangeUser.Name
    应该与
    AddressEntry.Name
    相同

    您可以使用-选择一条消息,转到GetRecipientTable选项卡来查看此消息。右键单击
    PR\u ENTRYID
    属性,然后选择
    IMAPISession::OpenEntry
    。您还可以将
    PR\u DISPLAY\u NAME
    属性编辑为与GAL对象不同的内容<保存邮件时,邮件上的code>PR\u DISPLAY\u TO属性将反映新的收件人名称