Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从outlook电子邮件中提取internet电子邮件标题?_Python_Email_Outlook - Fatal编程技术网

Python 如何从outlook电子邮件中提取internet电子邮件标题?

Python 如何从outlook电子邮件中提取internet电子邮件标题?,python,email,outlook,Python,Email,Outlook,我实际上是想从outlook电子邮件中提取以下详细信息。 1.从…起 2.到 3.答复 4.返回路径 5.X-Agari原始发送器 6.X-Agari原始接收器 7.X源IP 我已经用exchangelib、win32com.client尝试了Python,但无法提取细节。 有人能帮我吗?试试使用HeaderParser模块。这允许您通过python中的html进行解析,以查找标题和标题等 如果您使用的是Outlook对象模型,则需要使用MailItem.propertyAccessor.Get

我实际上是想从outlook电子邮件中提取以下详细信息。 1.从…起 2.到 3.答复 4.返回路径
5.X-Agari原始发送器 6.X-Agari原始接收器 7.X源IP 我已经用exchangelib、win32com.client尝试了Python,但无法提取细节。
有人能帮我吗?

试试使用HeaderParser模块。这允许您通过python中的html进行解析,以查找标题和标题等


如果您使用的是Outlook对象模型,则需要使用
MailItem.propertyAccessor.GetProperty
阅读
PR\u TRANSPORT\u MESSAGE\u HEADERS
MAPI属性(在中查看-单击IMessage按钮)


PR\u传输\u消息\u标题
DASL属性名称为
http://schemas.microsoft.com/mapi/proptag/0x007D001F

使用什么API?通过COM创建Outlook对象模型?对我来说什么都可以。我试过使用COM,但无法获得详细信息。下面是我使用exchangelib编写的代码。下面的代码实际上是对邮箱中的所有项目进行迭代,但我希望它仅在电子邮件到达收件箱时运行。从exchangelib导入*配置=配置(服务器='XXXXXXX',凭据=凭据(用户名='XXXXX',密码='XXXXXX'),身份验证类型=NTLM)帐户=帐户(主\u smtp\u地址='XXXXXX',配置=配置,访问类型=委托)打印帐户中项目的帐户.inbox.all():打印不是Outlook对象模型的(项目)。运行代码的计算机上是否安装了Outlook?是否安装了Outlook。到目前为止,对于COM对象,我已经实现了这一点。导入win32com.client导入pythoncom类处理程序_类(对象):def OnNewMailEx(self,receivedItemsId):用于receivedItemsId.split(“,”):mailItem=outlook.Session.GetItemFromID(ID)打印(“Subject:+mailItem.Subject”)打印(“To:”+mailItem.To)打印(“From:”+str(mailItem.Sender))outlook=win32com.client.DispatchWithEvents(“outlook.Application”,Handler_类)pythoncom.PumpMessages()但这不会像上一个那样提取Internet标题。但是上一个太慢,无法执行此任务,因为我们可能会一次收到数千封电子邮件。现在不可用。请重新检查它是否为链接。它是您需要传递给GetProperty的实际字符串(DASL名称)。