Я использовал win32.client и смог успешно получить доступ к членам списка рассылки Exchange, используя python. Однако, поскольку есть два пользователя с одинаковыми именем и фамилией, я хотел бы иметь возможность доступа к их адресу электронной почты вместо имени.
Используя ниже l oop, я могу go через членов списка рассылки Exchange и распечатайте имена всех участников:
import win32com.client
outlook_obj = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
#This function gets outlook object and retuens all the members of ALL Groups
address_lists = outlook_obj.AddressLists
#Access Exchange Distribution Lists
dist_lists = address_lists['All Distribution Lists']
return(dist_lists)
dl_index = a_numerical_index_greater_than_zero # you can try different numbers until you find the index of your desired distributionList, or loop thorough all the members and find what you are looking for
for m in dist_lists.AddressEntries.Item(dl_index).GetExchangeDistributionList().Members:
print(str(m))
Приведенный выше скрипт прекрасно работает и распечатывает все имена всех членов списка рассылки. Тем не менее, я ищу разные адреса электронной почты участников, поскольку я вижу, что имена не различаются (у меня могут быть два человека с одинаковыми именами: Джек Смит, но Джек. smith@xyz.com и Джек. smith2@xyz.com все еще различны).
Я использовал определение объекта из этого источника для создания кода выше, но, похоже, я не могу подключить участников к их адресу электронной почты.
Благодарю за любую помощь!