我已经搜索了在我的脚本中附加pdf但我找到了答案,如果我错了,使用MIMEApplication,与python 2.4.3不兼容,请更正。我无法导入MIMEApplication,也没有在文档中找到它。我没有选择升级我的操作系统以接受更新的版本。
到目前为止,这是我的代码:
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
from smtplib import SMTP
msg = MIMEMultipart()
msg['From'] = fromAddr
msg['To'] = ",".join(toAddr)
msg['Subject'] = msgSubj
bodyFile = open(bodyFilePath, "r")
msg.attach(MIMEText(bodyFile.read()))
bodyFile.close()
attachFile = open(attachFileDir+attachFileName, "r")
msg.attach(MIMEText(attachFile.read()))
attachFile.close()
# ... send msg using SMTP
请帮忙吗?
答案 0 :(得分:0)
就像您说的那样,the email
module in Python 2.4.3似乎不支持MIMEApplication()
来创建application/*
MIME部分。
我认为您可以手动覆盖属性,例如
from email.Encoders import encode_base64
# other imports as in your code
pdf = MIMEText(attachFile.read())
attachFile.close()
pdf.set_type('application/pdf')
pdf.set_charset(None) # remove ; charset= attribute
pdf.set_param('name', attachFileName)
pdf.add_header('Content-Disposition', 'attachment', filename=attachFileName)
encode_base64(pdf)
msg.attach(pdf)
这有点像一个缸,但它似乎在我的简短测试中起作用。