#outlook #microsoft-graph-api #exchange-server #com-interop #win32com
#outlook #microsoft-graph-api #exchange-сервер #com-interop #win32com
Вопрос:
Используя Office Outlook, мы можем найти вкладку «Членство«, когда мы щелкаем и разворачиваем контакт, на этой вкладке «Членство» отображается список электронных писем, на которые подписан пользователь.
Например, сотрудник X (x.x@zcompany.com / id123@zcompany.com ) в рамках Отдела данных Z Компания подписана на следующие группы рассылки:
- datateam@zcompany.com
- allemployeees@zcompany.com
- dataweekly@zcompany.com
- it.uk@zcompany.com
- znewsletter@zcompany.com
Я хотел бы получить список электронных писем, на которые подписан пользователь, введя либо адрес электронной почты пользователя, либо идентификатор организации пользователя.
Я нашел несколько потенциальных решений, но не знаю точно, как их реализовать:
- Outlook взаимодействует с GetMemberOfList() и GetExchangeDistributionList()
- Использование Microsoft Graph API
- Автоматизация VBA для Outlook
- Обратное проектирование с использованием ExchangePowershell
- Использование RPA для имитации действий пользователя в Outlook
Интересно, может ли кто-нибудь, имеющий опыт в этом, дать какой-нибудь совет? Заранее благодарю.
Ответ №1:
В ООМ вызовите Application.Session.CreateRecipient
, Recipient.Resolve
, Recipient.AddressEntry.GetExchangeUser()
. ExchangeUser
предоставляет GetMemberOfList()
метод, который возвращает IAddressEntries
объект.
Комментарии:
1. Привет, да, я тоже понял это вчера, но не с помощью приложения. Сессия, у меня это не сработало, namespace MAPI работал для меня. Спасибо за ваш ответ!
2.
Application.Session
будет равно нулю, если Outlook не был запущен до создания экземпляраOutlook.Application
объекта. В этом случаеNamespace
объект поступает изApplication.GetNamespace("MAPI")
, и вам нужно позвонитьNamespace.Logon
.