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

如何在Python中使用MIMEMultipart()创建带有PPT附件的邮件

发布时间:2023-12-25 18:32:02

MIMEMultipart是Python中的一个邮件模块,它可以用来创建带有附件的邮件。在使用它之前,我们需要导入相应的模块:

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

下面是一个示例,展示了如何使用MIMEMultipart()创建一个带有PPT附件的邮件。

# 设置发送邮件的内容
sender = 'sender@example.com'
receiver = 'receiver@example.com'
subject = '邮件主题'
message = '邮件正文'

# 创建一个MIMEMultipart对象
msg = MIMEMultipart()
msg['From'] = sender
msg['To'] = receiver
msg['Subject'] = subject

# 添加正文
msg.attach(MIMEText(message, 'plain'))

# 添加附件
attachment = open('ppt_file.ppt', 'rb')

# 创建一个MIMEBase对象,并将附件数据添加到对象中
part = MIMEBase('application', 'octet-stream')
part.set_payload((attachment).read())
encoders.encode_base64(part)
part.add_header('Content-Disposition', "attachment; filename= ppt_file.ppt")

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

# 发送邮件
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(sender, 'password')
text = msg.as_string()
server.sendmail(sender, receiver, text)
server.quit()

在示例中,我们首先设置了发送邮件的内容,包括发件人、收件人、主题和正文。然后,我们创建了一个MIMEMultipart对象,将发件人、收件人和主题添加到邮件中。

接着,我们添加了正文,使用MIMEText将正文添加到MIMEMultipart对象中。

然后,我们打开PPT文件,并创建一个MIMEBase对象,将附件数据添加到对象中,并设置附件的文件名和内容类型。

最后,将附件添加到MIMEMultipart对象中,并使用SMTP服务器发送邮件。

需要注意的是,示例中的SMTP服务器是Gmail的服务器,在使用时需要将自己的发件人邮箱和密码替换为正确的值。

希望以上例子对你理解如何在Python中使用MIMEMultipart()创建带有PPT附件的邮件有所帮助。