我对编码领域比较陌生,尝试使用以下python代码发送自动电子邮件报告。。 但我只在自动电子邮件中获得数据帧,而不是outlook电子邮件正文中的“嗨,这是一封测试电子邮件”。你知道吗
不太确定这里出了什么问题。你知道吗
import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randint(0,100,size=(10, 4)), columns=list('ABCD'))
outlook = win32.Dispatch('outlook.application')
mail = outlook.CreateItem(0)
mail.To = 'user@email.com'
mail.Subject = 'Insert Subject here'
mailerr1=df.to_html()
attachment = 'shot.png'
mail.Attachments.Add(attachment)
mail.Body = "hi this is a test email"
mail.HTMLBody = mailerr1
mail.Send()
如果有人能告诉我这里发生了什么,我将不胜感激。。 非常感谢。你知道吗
当您分配给
HTMLBody
时,您正在覆盖您的Body
。默认情况下,您的电子邮件客户端必须使用HTMLBody
。你知道吗因此,您需要将数据帧组合到
Body
字符串中,或者将Body
作为html添加到另一个字符串中,下面是一个示例:您还需要将其格式化为实际的html,请参见以下问题:Sending HTML email using Python
tl:博士
相关问题 更多 >
编程相关推荐