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

在Python中使用MIMEBase()发送带表格附件的邮件

发布时间:2024-01-17 01:31:15

在Python中,可以使用MIMEBase()模块来发送带有附件的邮件。在下面的代码示例中,我们将创建一个带有表格附件的邮件,并发送给指定的收件人。

首先,需要导入所需的模块:

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

接下来,使用MIMEMultipart()函数创建一个包含多个部分的邮件:

msg = MIMEMultipart()

然后,设置邮件的主题(Subject),发件人(From)和收件人(To):

msg['Subject'] = '邮件主题'
msg['From'] = '发件人@domain.com'
msg['To'] = '收件人@domain.com'

接着,添加邮件的文本内容:

msg.attach(MIMEText('邮件正文内容', 'plain'))

然后,打开附件文件,并将其添加到邮件中:

filename = '附件文件名.xlsx'
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" % filename)

msg.attach(part)

请确保将附件文件名.xlsx替换为实际的附件文件名。同时,注意在邮件中的文件类型可能会根据附件文件的类型进行更改。

最后,使用SMTP服务器发送邮件:

server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login("发件人邮箱", "发件人邮箱密码")
server.send_message(msg)
server.quit()

请确保将"smtp.gmail.com"替换为实际的SMTP服务器地址,"发件人邮箱"替换为实际的发件人邮箱,以及"发件人邮箱密码"替换为实际的邮箱密码。

以上就是在Python中使用MIMEBase()发送带有表格附件的邮件的示例代码。你可以根据自己的需要进行调整和修改。