我正在使用O365 for Python。 使用setBodyHTML()函数发送电子邮件并构建我的身体。但是目前我需要在函数内部编写实际的HTML代码。我不想那样做。我想让python查看我保存在某处的HTML文件并使用该文件作为正文发送电子邮件。那可能吗?或者我只限于将我的HTML复制/粘贴到该功能中?我正在使用office365进行商务活动。感谢。
换句话说,而不是:msg.setBodyHTML("<h3>Hello</h3>")
我希望能够这样做:msg.setBodyHTML("C:\somemsg.html")
答案 0 :(得分:1)
我猜您可以先将文件内容分配给变量,即:
file = open('C:/somemsg.html', 'r')
content = file.read()
file.close()
msg.setBodyHTML(content)
答案 1 :(得分:0)
您可以通过将该文件简单地读取为字符串来执行此操作,然后可以将其传递给setBodyHTML
函数。
这是一个快速的功能示例,可以解决这个问题:
def load_html_from_file(path):
contents = ""
with open(path, 'r') as f:
contents = f.read()
return contents
稍后,你可以按照
的方式做点什么msg.setBodyHTML(load_html_from_file("C:\somemsg.html"))
或
html_contents = load_html_from_file("C:\somemsg.html")
msg.setBodyHTML(html_contents)