我使用python SMTP发送带有图片附件的电子邮件。
for parent, dirnames, filenames in os.walk(base_path):
for file in filenames:
with open(base_path+file, 'rb') as fp:
img = MIMEImage(fp.read())
msg.attach(img)
# Send email
server = smtplib.SMTP(smtp_server, 25)
# server.set_debuglevel(1)
server.login(from_addr, password)
server.sendmail(from_addr, [to_addr], msg.as_string())
server.quit()
然而,当我收到我发送的电子邮件时,图片似乎被重命名为其他生成的名称,如ATT00002.jpg,ATT00003.jpg等。 如何保留原始图片名称?
答案 0 :(得分:2)
尝试以下代码。这将解决您的问题
for file in filenames:
with open(base_path+file, 'rb') as fp:
img = MIMEImage(fp.read())
img.add_header('Content-Disposition', "attachment; filename= %s" % file)
msg.attach(img)
您需要将标题添加到MIME PART。