当前位置: 首页 > 科技观察

如何使用Python在Outlook中阅读邮件

时间:2023-03-16 15:35:21 科技观察

搞邮件营销,获取opt-in邮箱列表是必不可少的。您可能已经有了录取名单并使用了电子邮件客户端软件。如果您可以从您的电子邮件客户端导出录取名单,那就太好了。让我试着解释一些我用来将outlook配置中的所有电子邮件写入临时文件的代码。首先你需要导入win32com.client,为此你需要安装pywin32:pipinstallpywin32我们需要通过MAPI协议连接Outlook:outlook=win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")和然后从outlook配置中获取所有账户:accounts=win32com.client.Dispatch("Outlook.Application").Session.Accounts;然后,您需要从名为emaileri_al的收件箱中获取电子邮件:defemaileri_al(folder):messages=folder.Itemsa=len(messages)ifa>0:formessage2inmessages:try:sender=message2.SenderEmailAddressifsender!="":print(sender,file=f)except:print("Benhatay?m")print(account.DeliveryStore.DisplayName)passtry:message2。Savemessage2.Close(0)except:pass你需要在所有账户的所有收件箱中获取邮件:foraccountinaccounts:globalinboxinbox=outlook.Folders(account.DeliveryStore.DisplayName)print("****AccountName**************************************”,file=f)print(account.DisplayName,file=f)print(account.DisplayName)打印(”****************************************************",file=f)folders=inbox.文件夹forfolderinfolders:print("****FolderName*************************************",file=f)打印(文件夹,文件=f)打印(“****************************************************",file=f)emailleri_al(文件夹)a=len(folder.folders)ifa>0:globalzz=outlook.Folders(account.DeliveryStore.DisplayName).Folders(folder.name)x=z.Foldersforyinx:emailleri_al(y)print("****文件夹名称*************************************",file=f)print("..."+y.name,file=f)print("*************************************************”,file=下面是完整的代码:importwin32com.clientimportwin32comimportosimportsysf=open("testfile.txt","w+")outlook=win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")accounts=win32com.client.Dispatch("Outlook.Application").Session.Accounts;defemaileri_al(文件夹):messages=folder.Itemsa=len(消息)ifa>0:formessage2inmessages:try:sender=message2.SenderEmailAddressifsender!="":print(sender,file=f)except:print("Error")print(account.DeliveryStore.DisplayName)passtry:message2.Savemessage2.Close(0)except:passforaccountinaccounts:globalinboxinbox=outlook.Folders(account.DeliveryStore.DisplayName)print("****帐号*************************************",文件=f)print(account.DisplayName,file=f)print(account.DisplayName)print("******************************************************",file=f)folders=inbox.Foldersforfolderinfolders:print("****FolderName**********************************”,文件=f)打印(文件夹,文件=f)打印(“****************************************************”,file=f)emailleri_al(文件夹)a=len(folder.folders)ifa>0:globalzz=outlook.Folders(account.DeliveryStore.DisplayName).Folders(folder.name)x=z.Foldersforyinx:emailleri_al(y)print("****文件夹名称************************************”,file=f)print("..."+y.name,file=f)print("**************************************************”,file=f)print(“成功完成”)