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

使用Python的email.mime.multipart模块生成多部分邮件

发布时间:2023-12-26 08:27:33

email.mime.multipart模块是Python中的内置模块,用于生成多部分邮件。多部分邮件是一种包含文本、超文本和附件等多个部分的邮件,可以通过这个模块方便地创建和发送。

下面是一个使用email.mime.multipart模块生成多部分邮件的例子:

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage

# 创建多部分邮件对象
msg = MIMEMultipart()

# 添加邮件正文
text = "这是一封测试邮件"
text_part = MIMEText(text, 'plain')
msg.attach(text_part)

# 添加超文本部分
html = "<h1>这是一封测试邮件</h1>"
html_part = MIMEText(html, 'html')
msg.attach(html_part)

# 添加图片附件
with open('image.jpg', 'rb') as f:
    img = f.read()
image_part = MIMEImage(img, 'jpg')
image_part.add_header('Content-Disposition', 'attachment', filename='image.jpg')
msg.attach(image_part)

# 发送邮件
smtp = smtplib.SMTP('smtp.gmail.com', 587)
smtp.starttls()
smtp.login('sender@gmail.com', 'password')
smtp.send_message(msg)
smtp.quit()

在这个例子中,首先导入了smtplib模块用于发送邮件,以及MIMEMultipart、MIMEText和MIMEImage类用于生成多部分邮件的各个部分。

然后,创建一个MIMEMultipart对象msg作为邮件的容器。

接着,使用MIMEText类创建了一个纯文本邮件部分,并将其添加到msg中。

使用MIMEText类创建了一个超文本邮件部分,并将其添加到msg中。

使用MIMEImage类读取图片文件,并将图片数据添加到msg中,同时设置了附件的文件名。

最后,使用smtplib模块连接邮件服务器并发送了邮件。

需要特别注意的是,发送邮件时,需要设置SMTP服务器的地址和端口号,发送方的邮箱地址和密码,以及邮件的主题、接收方等信息。这些信息根据实际情况进行修改。

总结起来,使用email.mime.multipart模块生成多部分邮件非常简单,只需要创建各个部分的对象,并将它们依次添加到MIMEMultipart对象中即可。通过这个模块,可以轻松地生成包含文本、超文本和附件等多个部分的邮件。