发送HTML图像电子邮件是一种通过电子邮件发送包含图像和HTML内容的邮件。Python提供了多种库和模块来实现这个功能,其中最常用的是smtplib和email库。
首先,我们需要导入相应的库和模块:
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
接下来,我们需要设置发送方和接收方的信息,包括发件人邮箱、收件人邮箱、SMTP服务器地址和端口号、发件人邮箱的登录信息等:
sender_email = "sender@example.com"
receiver_email = "receiver@example.com"
smtp_server = "smtp.example.com"
smtp_port = 587
username = "sender@example.com"
password = "password"
然后,我们可以创建一个MIMEMultipart对象,用于存储邮件的各个部分,包括邮件正文和图像附件:
msg = MIMEMultipart()
msg['From'] = sender_email
msg['To'] = receiver_email
msg['Subject'] = "HTML图像邮件"
接下来,我们可以创建一个MIMEText对象,用于设置邮件的HTML内容:
html = """
<html>
<body>
<h1>这是一封包含图像的HTML邮件</h1>
<p>以下是一张图片:</p>
<img src="cid:image1">
</body>
</html>
"""
msg.attach(MIMEText(html, 'html'))
然后,我们可以读取图像文件,并创建一个MIMEImage对象,将图像附件添加到邮件中:
with open("image.jpg", "rb") as f:
image_data = f.read()
image = MIMEImage(image_data)
image.add_header('Content-ID', '<image1>')
msg.attach(image)
最后,我们可以使用smtplib库来发送邮件:
try:
server = smtplib.SMTP(smtp_server, smtp_port)
server.starttls()
server.login(username, password)
server.sendmail(sender_email, receiver_email, msg.as_string())
server.quit()
print("邮件发送成功!")
except Exception as e:
print("邮件发送失败:", str(e))
这样,我们就可以使用Python发送包含图像的HTML邮件了。
推荐的腾讯云相关产品是腾讯企业邮,它是一款基于云计算的企业级邮件服务,提供稳定可靠的邮件发送和接收功能。您可以通过以下链接了解更多信息:腾讯企业邮
请注意,以上代码仅为示例,实际使用时需要根据具体情况进行修改和调整。
领取专属 10元无门槛券
手把手带您无忧上云