将多个附件附加到多部分消息的python MIME

将多个附件附加到多部分消息的python MIME,python,mime,Python,Mime,我正在尝试将多个附件附加到email.mime.multipart对象: from smtplib import SMTP from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText message = MIMEMultipart('alternative') message['Subject'] = 'test' for i in range(10): title="<

我正在尝试将多个附件附加到
email.mime.multipart
对象:

from smtplib import SMTP
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

message = MIMEMultipart('alternative')
message['Subject'] = 'test'

for i in range(10):
    title="<h2>{}</h2>".format(i)
    message.attach(MIMEText(title,"html",_charset="utf-8"))
电子邮件仅包含列表的最后一个元素


有人能帮我吗?

那是因为你附加了10条不同的消息。为什么要附加一条消息。将代码更改为:

from smtplib import SMTP
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

message = MIMEMultipart('alternative')
message['Subject'] = 'test'
html = ''

for i in range(10):
    title="<h2>{}</h2>".format(i)
    html += title

message.attach(MIMEText(html,"html",_charset="utf-8"))
从smtplib导入SMTP
从email.mime.multipart导入MIMEMultipart
从email.mime.text导入MIMEText
message=MIMEMultipart('alternative')
消息['Subject']='test'
html=“”
对于范围(10)内的i:
title=“{}”。格式(i)
html+=标题
message.attach(MIMEText(html,“html”,_charset=“utf-8”))

Hi-thx,yes-works thx!但是,如果只能附加一个附件,为什么称为多部分呢?我的方法似乎与我在文档中找到的方法一致:它被称为多方,因为可以附加多个版本的消息,例如:纯文本和html。假定最后附加的消息是首选消息。因此,当您附加多条html消息时,它所做的只是显示最后一条。
from smtplib import SMTP
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

message = MIMEMultipart('alternative')
message['Subject'] = 'test'
html = ''

for i in range(10):
    title="<h2>{}</h2>".format(i)
    html += title

message.attach(MIMEText(html,"html",_charset="utf-8"))