gpt4 book ai didi

python - 在 python 中使用 win32 发送 Outlook 电子邮件

转载 作者:太空宇宙 更新时间:2023-11-03 20:19:53 26 4
gpt4 key购买 nike

我对编码世界比较陌生,并尝试使用以下 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 添加到另一个,这是一个示例:

email.HTMLBody = '<p>hi this is a test email</p><br>' + mailerr1

您还需要将其格式化为实际的 html,请参阅这个问题:Sending HTML email using Python

tl:博士

email.HTMLBody = """
<html>
<head></head>
<body>
<p>hi this is a test email</p><br>
""" + mailerr1 + """
</body>
</html>
"""

关于python - 在 python 中使用 win32 发送 Outlook 电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58230436/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com