python - Python, Outlook 检索一个人的电子邮件和这个人的经理的电子邮件
问题描述
试图找到一个人的电子邮件和这个人的直线经理。我使用下面的代码:
import win32com.client
o = win32com.client.gencache.EnsureDispatch("Outlook.Application")
ns = o.GetNamespace("MAPI")
adrLi = ns.AddressLists.Item("Global Address List")
contacts = adrLi.AddressEntries
numEntries = adrLi.AddressEntries.Count
nameAliasDict = {}
for i in contacts:
name = i.Name
email = i.Address
manager = i.Manager
alias = i.Address.split("=")[-1]
nameAliasDict[alias] = name
if "David" in name: # any David's email and his manager's email address
print (email, manager)
但它不会返回电子邮件地址和个人经理的电子邮件。
获得它的正确方法是什么?(反之亦然,知道一个人的名字,得到他的下属。)
谢谢你。
解决方案
您可以尝试以下代码段:
import win32com.client
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
gal = outlook.Session.GetGlobalAddressList()
entries = gal.AddressEntries
for e in entries:
user = e.GetExchangeUser()
if user is not None:
print(user.Name)
print(user.FirstName)
print(user.LastName)
print(user.PrimarySmtpAddress)
推荐阅读
- javascript - React子组件图像不通过传递道具加载
- vue-test-utils - Vue-test-utils wrapper.find 返回 0 处不存在任何项目
- css - iframe 滚动在移动 Safari 中不起作用
- javascript - javascript:如何防止用户在文本框中输入 =?
- web-component - 在插槽元素内强制焦点事件
- bash - bash 或 shell 脚本 - pcap 文件到 csv 文件的转换
- c# - C# 发射,类型值比较
- jenkins - Jenkins - 从 Artifactory 下载和计算的 MD5 校验和不同于原始
- swift - 使用 to 和 from 日期过滤数组
- sql - How to use dynamic table in nested for loop in oracle pl sql