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

email.MIMEMultipartMIMEMultipart()模块在Python的应用

发布时间:2024-01-07 23:09:39

email.MIMEMultipart.MIMEMultipart()模块在Python中用于创建包含多个不同类型部分的邮件。它是email.mime.multipart模块的一部分,用于创建带有附件和嵌入其他MIME部分的邮件。

下面是一个使用例子:

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

# 创建一个MIMEMultipart对象
msg = MIMEMultipart()

# 添加邮件正文
text = MIMEText("This is the email body.")
msg.attach(text)

# 添加图片附件
with open("image.jpg", "rb") as f:
    image = MIMEImage(f.read(), name="image.jpg")
    msg.attach(image)

# 添加文件附件
with open("document.pdf", "rb") as f:
    attachment = MIMEText(f.read(), name="document.pdf")
    msg.attach(attachment)

# 设置邮件主题、发件人和收件人
msg["Subject"] = "Test Email"
msg["From"] = "sender@example.com"
msg["To"] = "recipient@example.com"

# 发送邮件
try:
    server = smtplib.SMTP("smtp.example.com") 
    server.sendmail("sender@example.com", "recipient@example.com", msg.as_string())
    print("Email sent successfully!")
except Exception as e:
    print("Error sending email:", str(e))
finally:
    server.quit()

在上面的例子中,我们首先导入email.mime.multipart模块的MIMEMultipart类,并创建一个msg对象。然后,我们使用MIMETextMIMEImage类创建邮件正文和附件,并使用msg.attach()方法将它们添加到msg对象中。接下来,我们设置邮件的主题、发件人和收件人,并使用msg.as_string()方法将msg对象转换为字符串格式。

最后,我们使用smtplib.SMTP()方法创建一个SMTP对象,并使用SMTP.sendmail()方法发送邮件。如果发送成功,就会打印"Email sent successfully!";如果出现错误,就会打印错误消息。无论发送是否成功,都会使用SMTP.quit()方法关闭SMTP连接。

总结:

email.MIMEMultipart.MIMEMultipart()模块在Python中用于创建包含多个不同类型部分的邮件。它可以用于添加邮件正文、附件和嵌入其他MIME部分。我们可以设置邮件的主题、发件人和收件人,并使用as_string()msg对象转换为字符串,然后使用SMTP对象发送邮件。