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'替换为实际的附件的路径和文件名。
希望以上信息能够帮助到你!
