新的平台上,我想转发一封电子邮件到几个地址。我没有找到一种方法来保持格式并添加一些内容。实际上,在电子邮件中,我有文字(粗体、普通、彩色),但也有图片。 我试过两种方法: -将邮件保存在文件夹(.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)
谢谢你的帮助
要保留任何消息正文格式,您需要处理
HTMLBody
或Word对象模型,其中正文由Document
类表示。在上面列出的代码中,您处理的是纯文本字符串:即使设置了
HTMLBody
属性:您应该在和元素中添加任何文本,以保留现有格式并保持HTML文档格式良好
相关问题 更多 >
编程相关推荐