Я генерирую электронные письма в Python 3.6 через MIMEMultipart (). Письмо отформатировано с помощью HTML, и я встраиваю изображение и прикрепляю zip-файл. Если я только внедряю изображение, электронная почта отлично выглядит в Outlook 365, и я вижу изображение правильно. Если я встраиваю изображение и прикрепляю свой zip-файл, я получаю оба вложения (изображение и zip), но изображение не заполняется, и я просто получаю «x» для изображения
Я обнаружил, что он правильно отображает в gmail, но не в Outlook, в этом случае как изображения, так и zip достаточно интересно ....
Код для добавления изображения и почтового индекса ниже:
def attach_zip(self, zip_filename):
""" Attach a zip file to the email
:param zip_filename: string path to the zip file to attach
:type zip_filename: str
"""
with open(zip_filename, 'rb') as fp:
mime = MIMEApplication(fp.read(), self.sub_type)
mime.add_header('X-Attachment-Id', 'zip2')
mime.add_header('Content-Disposition', 'attachment', filename=os.path.basename(zip_filename))
mime.add_header('Content-ID', '<zip2>')
mime.add_header('Content-Disposition', 'inline', filename=os.path.basename(zip_filename))
self.msg.attach(mime)
def attach_picture(self, pic_filename):
""" Attach a single picture to the email
:param pic_filename: name of image to attach
:type pic_filename: str
"""
print('attaching image..{}'.format(pic_filename))
with open(pic_filename, 'rb') as fp:
img = MIMEImage(fp.read(), self.sub_type)
img.add_header('X-Attachment-Id', 'image1')
img.add_header('Content-ID', '<image1>')
img.add_header('Content-Disposition', 'in-line', filename=pic_filename)
self.msg.attach(img)
Есть идеи? Я чувствую, что проблема с заголовком контента в Outlook? Я пробовал и веб-Outlook, и толстый клиент, и я получил тот же результат.