Python,Outlook以检索个人';s电子邮件和此人';s经理';s电子邮件
试图查找某人的电子邮件和该人的直线经理。我使用下面的代码:Python,Outlook以检索个人';s电子邮件和此人';s经理';s电子邮件,python,outlook,win32com,gal,Python,Outlook,Win32com,Gal,试图查找某人的电子邮件和该人的直线经理。我使用下面的代码: import win32com.client o = win32com.client.gencache.EnsureDispatch("Outlook.Application") ns = o.GetNamespace("MAPI") adrLi = ns.AddressLists.Item("Global Address List") contacts = adrLi.A
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)
非常感谢。但是错误弹出,AttributeError:'NoneType'对象没有属性'PrimarySmtpAddress'(它没有属性'Name','FirstName','LastName',两者都没有)。我刚刚添加了对None对象的控制谢谢!它起作用了!知道如何获取个人行管理器的详细信息吗?user对象有两种方法user.GetDirectReports()和user.GetExchangeUserManager()。当然要注意检查返回的对象,因为它们可能是空的(例如,如果用户没有报告),再次感谢您分享知识!