使用Python发送HTML格式邮件的步骤详解

 更新时间:2023年08月10日 10:51:48   作者:肖申克的陪伴  
在现代通信中,电子邮件是一种常见的沟通方式,通过Python编程语言,您可以使用内置的库来发送邮件,并在邮件中嵌入HTML内容和图片,本文将介绍如何使用Python发送带有HTML格式内容,以及涉及的步骤和代码示例

使用Python发送HTML格式的邮件

设置邮件信息和内容

首先,我们需要设置邮件的基本信息,如发件人、收件人、主题等。您可以使用 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 MIMEImage
with 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中发送带有图片的网页邮件。通过详细的步骤和示例代码,您可以更轻松地在自己的项目中应用这些概念。

以上就是使用Python发送HTML格式邮件的操作指南的详细内容,更多关于Python发送HTML格式的邮件的资料请关注脚本之家其它相关文章!

相关文章

  • python模拟哔哩哔哩滑块登入验证的实现

    python模拟哔哩哔哩滑块登入验证的实现

    这篇文章主要介绍了python模拟哔哩哔哩滑块登入验证的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • python深度学习tensorflow训练好的模型进行图像分类

    python深度学习tensorflow训练好的模型进行图像分类

    这篇文章主要为大家介绍了python深度学习tensorflow训练好的模型进行图像分类示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • python操作音视频ffmpeg-python对比pyav选择

    python操作音视频ffmpeg-python对比pyav选择

    这篇文章主要介绍了python操作音视频的选择:ffmpeg-python对比pyav,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • Python中用startswith()函数判断字符串开头的教程

    Python中用startswith()函数判断字符串开头的教程

    这篇文章主要介绍了Python中用startswith()函数判断字符串开头的教程,startswith()函数的使用是Python学习中的基础知识,本文列举了一些不同情况下的使用结果,需要的朋友可以参考下
    2015-04-04
  • python多线程中获取函数返回值的三种方法

    python多线程中获取函数返回值的三种方法

    本文主要介绍了python多线程中获取函数返回值的三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • 使用python实现拉钩网上的FizzBuzzWhizz问题示例

    使用python实现拉钩网上的FizzBuzzWhizz问题示例

    这篇文章主要介绍了使用python实现拉钩网上的FizzBuzzWhizz问题示例,需要的朋友可以参考下
    2014-05-05
  • Python中的imread()函数用法说明

    Python中的imread()函数用法说明

    这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • GoReplay中间件python版本使用教程

    GoReplay中间件python版本使用教程

    GoReplay 是一个用于网络流量录制和回放的工具,它可以用于测试和优化分布式系统,这篇文章主要介绍了GoReplay中间件python版本使用教程,需要的朋友可以参考下
    2024-02-02
  • Python利用shutil实现拷贝文件功能

    Python利用shutil实现拷贝文件功能

    shutil 是一个 Python 内置模块,该模块对文件的复制、删除和压缩等操作都提供了非常方便的支持。本文将利用shutil实现拷贝文件功能,需要的可以参考一下
    2022-07-07
  • Python matplotlib调整坐标轴位置、标签位置和标签方向以及X轴刻度标签位置

    Python matplotlib调整坐标轴位置、标签位置和标签方向以及X轴刻度标签位置

    我们在用matplotlib绘制图的时候总是有各种需求,下面这篇文章主要给大家介绍了关于Python matplotlib调整坐标轴位置、标签位置和标签方向以及X轴刻度标签位置的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-04-04

最新评论