😇博主简介:我是一名正在攻读研究生学位的人工智能专业学生,我可以为计算机、人工智能相关本科生和研究生提供排忧解惑的服务。如果您有任何问题或困惑,欢迎随时来交流哦!😄
✨座右铭:宝剑锋从磨砺出,梅花香自苦寒来。
⛪️个人主页:点击进入博客主页
🚀欢迎大家浏览博主的文章!在阅读过程中,如果发现需要纠正的地方,请不吝指出,愿能与诸君共同进步!
文章目录
- 🍭使用Python发送HTML格式的邮件
- 设置邮件信息和内容
- 邮件信息
- 构建HTML内容
- HTML内容
- 嵌入图片
- 嵌入图片代码
- 发送邮件
- 发送邮件代码,(未加入图片)
- 结论
- 🍭总结
正文
🍭使用Python发送HTML格式的邮件
在现代通信中,电子邮件是一种常见的沟通方式。通过Python编程语言,您可以使用内置的库来发送邮件,并在邮件中嵌入HTML内容和图片。上一篇博客中介绍了如何开通QQ邮箱的SMTP服务,以及如何发送文本邮件。本篇博客将介绍如何使用Python发送带有HTML格式内容,以及涉及的步骤和代码示例。
如何开启QQ邮件的SMTP服务以及如何使用Python发送邮件
设置邮件信息和内容
首先,我们需要设置邮件的基本信息,如发件人、收件人、主题等。您可以使用email
和smtplib
库来完成这一任务。
邮件信息
sender_email = "your_email@example.com"
receiver_email = "recipient@example.com"
subject = "HTML邮件示例"
构建HTML内容
在邮件的HTML内容中,您可以编写任何格式和样式的内容。在这个示例中,我们构建了一个简单的HTML页面。
HTML内容
html_content = """
<html>
<head></head>
<body><h1>这是一个HTML邮件示例</h1><p>这是一封使用Python发送的带有HTML内容的邮件。</p>
</body>
</html>
"""
嵌入图片
如果您想在邮件中嵌入图片,需要按以下步骤操作:
- 通过二进制模式打开图片文件。
- 读取图片的二进制数据。
- 创建一个
MIMEImage
对象,将图片数据附加到该对象上,并设置Content-ID
。 - 通过
msg.attach()
方法将图片添加到邮件内容中。
嵌入图片代码
from email.mime.image import MIMEImagewith open("path_to_your_image.png", "rb") as image_file:image_data = image_file.read()image = MIMEImage(image_data)image.add_header("Content-ID", "<image1>")msg.attach(image)
发送邮件
使用SMTP协议发送邮件需要配置SMTP服务器的信息,以及发件人的用户名和密码。在本例中,我们使用了QQ邮箱的SMTP服务器。
发送邮件代码,(未加入图片)
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText# 邮件信息
sender_email = "350728668@qq.com"
receiver_email = "1443004194@qq.com"
subject = "HTML邮件示例"
html_content = """
<html>
<head></head>
<body><h1>这是一个HTML邮件示例</h1><p>这是一封使用Python发送的带有HTML内容的邮件。</p>
</body>
</html>
"""# 设置邮件内容
msg = MIMEMultipart()
msg["From"] = sender_email
msg["To"] = receiver_email
msg["Subject"] = subject
msg.attach(MIMEText(html_content, "html"))# 连接到SMTP服务器并发送邮件
smtp_server = "smtp.qq.com"
smtp_port = 465 # 使用SSL加密连接的端口
smtp_username = "350728668@qq.com"
smtp_password = "gxsdasdasdafcbag"
#smtp_password为授权码,上边的为随机生成不能正常使用。
server = None # 初始化server变量try:server = smtplib.SMTP_SSL(smtp_server, smtp_port) # 使用SMTP_SSL来建立SSL加密连接server.login(smtp_username, smtp_password)server.sendmail(sender_email, receiver_email, msg.as_string())print("邮件发送成功!")
except Exception as e:print("邮件发送失败:", str(e))
finally:if server:server.quit()
运行代码:
邮件发送成功!目标邮箱已经接收到文本邮件。
结论
这篇博客介绍了如何使用Python发送带有HTML内容的邮件。我们了解了设置邮件信息、构建HTML内容、嵌入图片和发送邮件的基本步骤和示例代码。希望这篇博客能够帮助您更好地理解如何在Python中发送带有图片的网页邮件。通过详细的步骤和示例代码,您可以更轻松地在自己的项目中应用这些概念。