欢迎访问宙启技术站
智能推送

Python使用email.mime.baseMIMEBase()函数创建邮件内容,如何在邮件中加入附件

发布时间:2023-12-28 00:14:43

在Python中,你可以使用email.mime.baseMIMEBase()函数来创建邮件内容,并将附件添加到邮件中。下面是一个示例代码,演示如何创建邮件内容,并将附件添加到邮件中:

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email import encoders

# 设置邮件的发送者和接收者
sender = 'your_email@example.com'
receiver = 'recipient_email@example.com'

# 创建一个 MIMEMultipart 对象
msg = MIMEMultipart()

# 设置邮件的主题
msg['Subject'] = '邮件主题'

# 设置邮件的发送者和接收者
msg['From'] = sender
msg['To'] = receiver

# 创建一个 MIMEBase 对象,并设置附件的类型和文件名
attachment = MIMEBase('application', 'octet-stream')
attachment.set_payload(open('path_to_attachment_file', 'rb').read())

# 对附件进行编码
encoders.encode_base64(attachment)

# 设置附件的头部信息
attachment.add_header('Content-Disposition', 'attachment', filename='attachment_file_name')

# 将附件添加到邮件中
msg.attach(attachment)

# 连接 SMTP 服务器
smtp_server = 'smtp.example.com'
smtp_port = 587
username = 'your_username'
password = 'your_password'
server = smtplib.SMTP(smtp_server, smtp_port)

# 使用 STARTTLS 安全连接
server.starttls()

# 登录到邮件发送账户
server.login(username, password)

# 发送邮件
server.sendmail(sender, receiver, msg.as_string())

# 关闭连接
server.quit()

在上面的示例代码中,我们首先创建一个MIMEMultipart对象,用于存储邮件内容。然后,我们使用MIMEBase函数创建一个MIMEBase对象,并设置附件的类型和文件名。接下来,我们对附件进行编码,并设置附件的头部信息。最后,我们将附件添加到邮件中,将邮件发送给接收者。

请确保将示例代码中的发送者邮箱、接收者邮箱、SMTP服务器地址、SMTP端口号、登录用户名和密码修改为你自己的信息。此外,还需要将'path_to_attachment_file'和'attachment_file_name'替换为实际的附件的路径和文件名。

希望以上信息能够帮助到你!