【发布时间】:2021-10-31 09:40:37
【问题描述】:
import smtplib
import email.message
def sent_email(From,email,passw):
body = f"""
<p>Text blabla </p>
<img src="image_name.jpg" alt="loading problem" width=400 height=560>
"""
msg = email.message.Message()
msg['Subject'] = "subject"
msg['From'] = From
msg['To'] = email
password = passw
msg.add_header('Content-Type', 'text/html')
msg.set_payload(body )
s = smtplib.SMTP('smtp.gmail.com: 587')
s.starttls()
# Login Credentials for sending the mail
s.login(msg['From'], password)
s.sendmail(msg['From'], [msg['To']], msg.as_string().encode('utf-8'))
print('Email sent')
电子邮件已发送,但图像未出现。出现“加载问题”消息。
刚刚找到如何附加。我想要它在电子邮件的正文中。
【问题讨论】:
-
您是否尝试过附加图片,即
msg.add_header('Content-Disposition', 'attachment', filename='image_name.jpg')和/或`msg.add_attachment(*args, content_manager=None, **kw)¶`?您的 html 呈现页面,但您有权访问图像?如果您的电子邮件服务允许,另一种选择是使用远程 URL。我还会看一个工作示例,看看您的电子邮件如何比较。 -
我可以访问图像。 msg.add_header(...) 附加图像。但不在电子邮件正文中。
标签: python image email html-email