В чем разница между Recipient.Name и ExchangeUser.Name в надстройке Outlook?

, используя cast вместо recast (примечание 'Frequency' теперь 'value')

df  <- data.frame(Category = c("First","First","First","Second","Third","Third","Second")
                  , value = c(10,15,5,2,14,20,3))

install.packages("reshape")

result<-cast(df, Category ~ . ,fun.aggregate=sum)

, чтобы получить:

Category (all)
First     30
Second    5
Third     34
0
задан Thomas Zhang 15 January 2019 в 22:45
поделиться

2 ответа

Объект получателя сохраняется в самом сообщении в виде строки в таблице получателей. Recipient.Name соответствует PR_DISPLAY_NAME. Свойство PR_ENTRYID в этой строке (присутствует, если получатель разрешен) указывает на объект адресной книги. Вот что возвращает Recipient.AddressEntry - он использует PR_ENTRYID получателя для вызова IAddrBook::OpenEntry.

Возвращенный AddressEntry.Name теоретически может отличаться от Recipient.Name (один происходит из объекта адресной книги, а другой - из PR_DISPLAY_NAME в таблице получателей сообщения). ExchangeUser по сути является расширением объекта AddressEntry со специфическими для Exchange свойствами, поэтому ExchangeUser.Name должно совпадать с AddressEntry.Name.

Вы можете увидеть это, используя OutlookSpy - выберите сообщение, перейдите на вкладку GetRecipientTable. Щелкните правой кнопкой мыши свойство PR_ENTRYID и выберите IMAPISession::OpenEntry. Вы также можете отредактировать свойство PR_DISPLAY_NAME для чего-то отличного от объекта GAL. PR_DISPLAY_TO свойство сообщения будет отражать имя нового получателя при сохранении сообщения.

0
ответ дан Dmitry Streblechenko 15 January 2019 в 22:45
поделиться

Я не эксперт по продуктовой линейке Microsoft. Но только по названию Outlook - это клиент, а Exchange - это сервер.

То есть, вы можете использовать объект Recipient для ссылки на адресата в вашем клиенте Outlook, независимо от того, что является фактическим почтовым сервером, это может быть Exchange, как в вашем случае, или Gmail, Yahoo! Mail, mail.live.com, что угодно.

И объект ExchangeUser специально используется для пользователя почтового ящика Exchange, который обычно настраивается на предприятии. Таким образом, вы можете найти подробные свойства, такие как JobTitle и OfficeLocation (и многие другие), которых у объекта Recipient нет.

Этот объект обеспечивает первоклассный доступ к свойствам, применимым к пользователям Exchange, таким как FirstName, JobTitle, LastName и OfficeLocation.

Обратите внимание, что нельзя использовать Recipient.AddressEntry.GetExchangeUser (), если вы не подключены к серверу Exchange.

0
ответ дан kennyzx 15 January 2019 в 22:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: