如何在python中阅读电子邮件的互联网标题?

时间:2017-06-27 12:25:40

标签: python email msg

我想阅读我收到的邮件的互联网标题,并在在线门户网站上分析,以检查邮件是否是恶意邮件。 我已经浏览了很多网站,并认为win32com将帮助我解决这个问题。可悲的是,虽然我可以提取很多东西,但我无法提取互联网标题。 这就是我到目前为止所做的事情:

interface ClientHeightEventHandlerType{
    (event: {clientHeight: number}): void;
}

interface ClientWidthEventHandlerType{
    (event: {clientWidth: number}): void;
}

消息变量没有Headers或InternetIeaders属性。链接:https://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.mailitem_properties.aspx

请帮我检索邮件标题。提前谢谢!

1 个答案:

答案 0 :(得分:1)

您似乎需要使用PR_TRANSPORT_MESSAGE_HEADERS阅读MailItem.PropetyAccessor.GetProperty(String) MAPI属性,如以下链接所示:

https://msdn.microsoft.com/VBA/Outlook-VBA/articles/propertyaccessor-getproperty-method-outlook

PR_TRANSPORT_MESSAGE_HEADERS DASL属性名称为" http://schemas.microsoft.com/mapi/proptag/0x007D001F"。它不是链接,而是用作函数参数的字符串。

您的代码如下:

 import win32com.client
 outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
 inbox=outlook.GetDefaultFolder(6)
 messages = inbox.Items
 message = messages.GetLast()
 mess=message.Body
 internet_header = message.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x007D001F")
 print(internet_header)

我希望这是你正在寻找的东西。