Python, переслать и изменить электронное письмо с прогнозом, продолжая форматирование - PullRequest
1 голос
/ 27 мая 2020

Новое на платформе, я хотел бы переслать электронное письмо на несколько адресов. Я не нахожу способа сделать это, сохраняя формат и добавляя некоторый контент. На самом деле в письме есть текст (жирный, нормальный, цветной), а также изображение. Я пробовал это двумя способами: - сохранить почту в папке (.msg) и проанализировать ее, но формат - это только текст - пересылать ее прямо из папки «Входящие», формат хорош, но если я изменю его, та же проблема, что и первый способ

Последняя проблема, я не могу найти способ удалить прямой заголовок

def Emailer(text, subject, recipient):

    outlook = win32.Dispatch('outlook.application')
    mail = outlook.CreateItem(0)
    mail.To = recipient
    mail.Subject = subject
    mail.HTMLBody = text
    Path_Att = "D:/***/Test123.pdf"
    mail.Attachments.Add(Source=Path_Att)
    mail.Display(True)



import extract_msg

#f = r'D:\***\test13.msg' 
msg = extract_msg.Message(f)
msg_sender = msg.sender
msg_date = msg.date
msg_subj = msg.subject
msg_message = msg.body

Text_email = msg_message
Emailer(Text_email,'Our Research','xxx@xxx.com')

outlook = win32.Dispatch("Outlook.Application").GetNamespace("MAPI")

inbox = outlook.GetDefaultFolder(6).Folders('Hugues')
messages = inbox.Items
message = messages.GetLast()
NewMsg = message.Forward()
TestSub = NewMsg.Subject
print(type(NewMsg.Body))
NewMsg.Body = 'Hello' + NewMsg.Body
NewMsg.Subject = TestSub.replace('FW: ','')
NewMsg.To = "xxxx@xxx.com"
NewMsg.Display(True)

Спасибо за вашу помощь

1 Ответ

0 голосов
/ 27 мая 2020

Чтобы сохранить любое форматирование тела сообщения, вам нужно иметь дело с HTMLBody или объектной моделью Word, где тело представлено классом Document. В приведенном выше коде вы имеете дело с простой текстовой строкой:

NewMsg.Body = 'Hello' + NewMsg.Body

И даже когда вы устанавливаете свойство HTMLBody:

mail.HTMLBody = text

, вы должны добавить любой текст внутри и элементы для сохранения существующего форматирования и сохранения правильного формата документа HTML.

...