擅长:python、mysql、java
<p>我想你可能把事情搞得太复杂了。<code>multipart/alternative</code>用于相同数据的不同表示,例如消息的纯文本版本和HTML中的同一消息。在您的例子中,您只需创建一个<code>multipart/mixed</code>并附加文本和pdf消息。在</p>
<pre><code>from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
with open(attachment_path) as pdf_file, open(email_body_path) as text_file:
pdf = MIMEApplication(pdf_file.read(), _subtype = 'pdf')
pdf.add_header('content-disposition', 'attachment', filename=basename(attachment_path))
text = MIMEText(text_file.read(), _charset='UTF-8')
msg = MIMEMultipart(_subparts=(text, pdf))
msg['Subject'] = 'Test multipart message'
</code></pre>
<p>这将创建一条如下所示的消息:</p>
^{pr2}$