首页 > 解决方案 > 获取与 Outlook 格式相同的 Outlook 电子邮件 [使用 python]

问题描述

我能够从 Outlook 中获取所有电子邮件并将它们保存到 .txt 文件中,但格式已被破坏 [无法获取 HTML 标记、表格等] 我还将所有邮件保存到 .msg 文件中,但格式仍然是失踪。有什么方法可以将它们保存为某种可以与 Outlook 保持相同格式的文件格式?我使用的代码是:

import win32com.client
import os
import time
import datetime as dt
from datetime import datetime, timedelta
import re

....
....
....

delimiter = "------------------------------------------------------------------"
with open('readme_1.msg', 'w+') as f:
    for message in messages_1:
        f.write(message.Subject)
        f.write(message.ReceivedTime.strftime('%d-%b-%Y %H:%M %p')+"\n")
        f.write(message.body)
        f.write(delimiter+"\n")

标签: pythonoutlookpywin32file-format

解决方案


在您使用纯文本属性的代码中:

f.write(message.body)

相反,您似乎对[HTMLBody][1]返回或设置表示指定项的 HTML 正文的字符串的属性感兴趣。

注意,设置HTMLBody属性总是会Body立即更新属性。


推荐阅读