实现 Python 邮件 Excel 附件的步骤

本文将向刚入行的小白介绍如何使用 Python 发送带有 Excel 附件的邮件。我们将分为以下几个步骤完成这个任务:

  1. 准备 Excel 数据
  2. 编写 Python 代码
  3. 设置邮件参数
  4. 发送邮件

Step 1: 准备 Excel 数据

在发送邮件之前,我们需要准备一个 Excel 文件作为附件。你可以使用任何 Excel 编辑软件(如 Microsoft Excel、LibreOffice Calc)创建一个简单的 Excel 表格,并填充一些数据。

Step 2: 编写 Python 代码

首先,我们需要导入所需的 Python 库:

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

接下来,我们需要定义一些基本的邮件参数:

email_from = "your_email@example.com"  # 发件人邮箱
email_to = "recipient@example.com"  # 收件人邮箱
email_subject = "Python 邮件附件示例"  # 邮件主题
email_body = "这是一封带有 Excel 附件的邮件"  # 邮件正文
smtp_server = "smtp.example.com"  # SMTP 服务器地址
smtp_port = 587  # SMTP 服务器端口号
smtp_user = "your_username"  # SMTP 服务器用户名
smtp_password = "your_password"  # SMTP 服务器密码

Step 3: 设置邮件参数

我们需要创建一个 MIMEMultipart 对象来包含邮件的主体和附件。使用 MIMEText 对象设置邮件正文,使用 MIMEApplication 对象设置附件。

msg = MIMEMultipart()
msg["From"] = email_from
msg["To"] = email_to
msg["Subject"] = email_subject

# 设置邮件正文
msg.attach(MIMEText(email_body, "plain"))

# 读取 Excel 文件并设置附件
excel_file = "path/to/your/excel/file.xlsx"  # Excel 文件路径
with open(excel_file, "rb") as file:
    attachment = MIMEApplication(file.read(), "octet-stream")
    attachment.add_header("Content-Disposition", "attachment", filename=os.path.basename(excel_file))
    msg.attach(attachment)

Step 4: 发送邮件

我们需要使用 smtplib 库来连接到 SMTP 服务器并发送邮件。

try:
    server = smtplib.SMTP(smtp_server, smtp_port)
    server.starttls()
    server.login(smtp_user, smtp_password)
    server.send_message(msg)
    print("邮件发送成功!")
except Exception as e:
    print(f"邮件发送失败:{str(e)}")
finally:
    server.quit()

以上就是完整的 Python 代码了。你可以根据自己的实际情况修改邮件参数和 Excel 文件路径。确保将上述代码保存为一个 Python 文件(如 send_email.py),并在命令行中运行该文件。


下面是整个实现过程的流程图:

journey
    title 发送邮件流程

    section 准备 Excel 数据
        1. 创建并填充 Excel 表格

    section 编写 Python 代码
        2. 导入所需的 Python 库
        3. 定义基本的邮件参数
        4. 创建 MIMEMultipart 对象
        5. 设置邮件正文
        6. 设置附件

    section 设置邮件参数
        7. 连接到 SMTP 服务器
        8. 发送邮件

    section 发送邮件
        9. 发送成功

    section 发送邮件失败
        10. 打印错误信息

以上就是实现 Python 邮件 Excel 附件的完整流程。希望这篇文章对你有所帮助!