#python #outlook #pywin32 #file-format
Вопрос:
Я могу получать все электронные письма из 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")
Ответ №1:
В коде вы используете свойство обычного текста:
f.write(message.body)
Вместо этого, похоже, вас интересует [HTMLBody][1]
свойство, которое возвращает или задает строку, представляющую HTML-текст указанного элемента.
Обратите внимание, что установка HTMLBody
свойства всегда Body
будет немедленно обновлять свойство.
Комментарии:
1. Вы имеете в виду, это заменить сообщение. тело с сообщением. HTMLBody ?
2. Да, вы на правильном пути.
3. Я добавил тело = сообщение. HTMLBody и это сработало. Спасибо @Eugene