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

使用MIMEMultipart()在Python中发送带有视频附件的邮件

发布时间:2023-12-25 18:30:10

在Python中,可以使用MIMEMultipart()MIMEBase()模块实现发送带有视频附件的邮件。下面是一个使用例子,假设我们要发送一个邮件,其中包含一个名为video.mp4的视频附件。

首先,需要导入相关模块:

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

然后,我们需要设置邮件的发送者、接收者、主题等信息:

fromaddr = "sender@example.com"
toaddr = "receiver@example.com"
subject = "带有视频附件的邮件"

接下来,创建一个MIMEMultipart()对象,并设置邮件的头部信息:

msg = MIMEMultipart()
msg['From'] = fromaddr
msg['To'] = toaddr
msg['Subject'] = subject

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

filename = "video.mp4"

# 以二进制模式读取视频文件
attachment = open(filename, "rb")

# 创建一个MIMEBase对象
part = MIMEBase('application', 'octet-stream')

# 设置附件的负载
part.set_payload((attachment).read())

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

# 添加附件的标题和文件名
part.add_header('Content-Disposition', "attachment; filename= %s" % filename)

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

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

# 设置SMTP服务器
server = smtplib.SMTP('smtp.example.com', 587)
server.starttls()

# 登录SMTP服务器
server.login(fromaddr, "password")

# 发送邮件
text = msg.as_string()
server.sendmail(fromaddr, toaddr, text)

# 关闭SMTP服务器连接
server.quit()

以上代码会使用smtp.example.com作为SMTP服务器,端口号为587。要发送邮件,需要将fromaddrtoaddr替换为合适的发件人和收件人邮箱地址,并设置相应的SMTP服务器和登录密码。

这是一个简单的例子,演示了如何使用MIMEMultipart()在Python中发送带有视频附件的邮件。你可以根据实际需求进行修改和扩展。