gpt4 book ai didi

python - 如何使用 python 在电子邮件正文中附加 HTML

转载 作者:太空宇宙 更新时间:2023-11-03 15:51:09 29 4
gpt4 key购买 nike

我正在使用 python 自动发送邮件,并且运行良好。当我尝试将 html 添加到电子邮件正文中时,问题就出现了。 HTML 代码作为附件添加到 Outlook 邮件中,而不是嵌入到正文中。我该如何克服这个问题?

from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
from email.mime.multipart import MIMEMultipart
from smtplib import SMTP
import smtplib
import sys


recipients = ['abc@emaxple.com','def@example.com']
emaillist = [elem.strip().split(',') for elem in recipients]
msg = MIMEMultipart()
msg['Subject'] = str("Trial")
msg['From'] = 'abc@example.com'

msg.preamble = 'Multipart massage.\n'

html="""<html><body><p>Hi!</p>
<a href="www.google.com">Google</a>
</body></html>"""

part2=MIMEText(html,'html')

part = MIMEText("Hello")

msg.attach(part)
msg.attach(part2)

for excel_file_location in sys.argv[1].split(","):
part = MIMEApplication(open(str(excel_file_location),"rb").read())
part.add_header('Content-Disposition', 'attachment', filename=str(excel_file_location.split("\\")[-1]))
msg.attach(part)


server = smtplib.SMTP("smtp.office365.com",587)
server.ehlo()
server.starttls()
server.login("abc@example.com", "asdgfasgas")

server.sendmail(msg['From'], emaillist , msg.as_string())

最佳答案

您的消息必须是 multipart/alternative 类型。默认的多部分子类型是“混合”。试试这个:

msg = MIMEMultipart("alternative")

关于python - 如何使用 python 在电子邮件正文中附加 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41280607/

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