使用 Python 发送带附件的电子邮件教程

发布于:2024-05-01 ⋅ 阅读:(157) ⋅ 点赞:(0)

在本教程中,我们将学习如何使用 Python 中的 smtplibemail 库发送带有附件的电子邮件。我们将通过一个简单的示例来演示如何编写代码来完成这个任务。

1. 准备工作

在开始之前,确保你已经安装了 Python,并且你有一个有效的电子邮件地址,以及你的邮件账户的用户名和密码。

2. 编写 Python 脚本

我们将首先编写一个 Python 脚本,用于连接到 SMTP 服务器并发送电子邮件。以下是脚本的基本结构:

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders
import os

# 发件人信息
sender_email = "你的邮箱地址"
sender_password = "你的邮箱密码"

# 收件人信息
receiver_email = "收件人邮箱地址"

# 构建邮件
msg = MIMEMultipart()
msg['From'] = sender_email
msg['To'] = receiver_email
msg['Subject'] = "邮件主题"

# 邮件正文
body = "邮件正文内容"
msg.attach(MIMEText(body, 'plain'))

# 添加附件
filename = "附件文件名"
attachment = open(filename, "rb")
part = MIMEBase('application', 'octet-stream')
part.set_payload((attachment).read())
encoders.encode_base64(part)
part.add_header('Content-Disposition', "attachment; filename= %s" % os.path.basename(filename))
msg.attach(part)

# 连接到SMTP服务器
server = smtplib.SMTP_SSL('smtp.qq.com', 465)
server.login(sender_email, sender_password)

# 发送邮件
text = msg.as_string()
server.sendmail(sender_email, receiver_email, text)

# 关闭连接
server.quit()

print("邮件发送成功!")

3. 替换相关信息

在脚本中,你需要替换以下信息:

  • sender_email:你的发件人邮箱地址。
  • sender_password:你的发件人邮箱密码。
  • receiver_email:收件人邮箱地址。
  • msg['Subject']:邮件主题。
  • body:邮件正文内容。
  • filename:附件文件名。

4. 运行脚本

确保你已经生成了附件文件并放置在当前目录下。然后运行脚本,它将会连接到 SMTP 服务器并发送带有附件的电子邮件到指定的收件人邮箱地址。

结论

通过本教程,你学会了如何使用 Python 中的 smtplibemail 库发送带有附件的电子邮件。这个技能可以应用于自动化发送邮件、报告生成等各种场景中。希望这个教程对你有所帮助!