如何使用 Python / Win32Client 读取 Outlook 电子邮件的正文?

发布于 2025-01-09 00:50:23 字数 1177 浏览 1 评论 0原文

如何使用 python 读取 Outlook 电子邮件的正文?下面的第一个代码允许我访问该文件夹,但它继续仅返回消息主题。我只需要消息的正文。

import win32com.client
import datetime
import os
import email
import pandas as pd
import os
import glob

outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder(6).Folders.Item("Eres")
message = inbox.items

for message in inbox.Items:
        if message.unread == True:
    
         print(message)

下面的代码根本不起作用并生成以下错误..com_error


Traceback(最近一次调用最后) 在 16 17 消息 = messages.GetLast() ---> 18 getattr 中的 body_content = message.body

~\Anaconda3\lib\site-packages\win32com\client\dynamic.py(self, attr) 第514章 第515章 -->第516章 ret = self.oleobj.Invoke(retEntry.dispid,0,invoke_type,1) 517 除了 pythoncom.com_error 详细信息: 第518章

错误

import win32com.client
import datetime
import os
import email
import pandas as pd
import os
import glob

outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder(6).Folders.Item("Eres")
messages = inbox.Items

message = messages.GetLast()
body_content = message.body

How can I read the body of an outlook email using python? The first code below allows me to access the folder but it continues to return the message subject only. I simply need the body of the message.

import win32com.client
import datetime
import os
import email
import pandas as pd
import os
import glob

outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder(6).Folders.Item("Eres")
message = inbox.items

for message in inbox.Items:
        if message.unread == True:
    
         print(message)

This code below does not work at all and generates the following error..


com_error Traceback (most recent call last)
in
16
17 message = messages.GetLast()
---> 18 body_content = message.body

~\Anaconda3\lib\site-packages\win32com\client\dynamic.py in getattr(self, attr)
514 debug_attr_print("Getting property Id 0x%x from OLE object" % retEntry.dispid)
515 try:
--> 516 ret = self.oleobj.Invoke(retEntry.dispid,0,invoke_type,1)
517 except pythoncom.com_error as details:
518 if details.hresult in ERRORS_BAD_CONTEXT:

com_error: (-2147467259, 'Unspecified error', None, None)

import win32com.client
import datetime
import os
import email
import pandas as pd
import os
import glob

outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder(6).Folders.Item("Eres")
messages = inbox.Items

message = messages.GetLast()
body_content = message.body

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爱已欠费 2025-01-16 00:50:23

“com_error:(-2147467259,'未指定的错误',无,无)”
这是一个安全问题。可能是由您的防病毒软件引起的。
解决方案:Win32com Outlook 正文属性错误

"com_error: (-2147467259, 'Unspecified error', None, None)"
This is a security issue. Likely cause by your antivirus.
Solution: Win32com Outlook Body Properties Error

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文