Доброго времени суток.
Я на своем проекте формирую письмо и высылаю его с помощью Python. В теле письма есть лого компании, что б гугл отображал картинки, то я добавляю их следующим образом:
def send_email(self, supply_order, new_confirmation, extra_text):
...
email = EmailMultiAlternatives(
subject,
email_body,
from_email=company.email,
to=emails_to,
cc=[company.email_copy]
)
self.add_files(email, supply_order, products_table, logo_path)
email.send(fail_silently=False)
def add_files(self, email, supply_order, products_table, logo):
...
email.attach('order.csv', csvfile.getvalue(), 'text/csv')
email.attach('order.pdf', pdf.dest.getvalue(), 'application/pdf')
if logo:
fp = open(urllib.unquote(logo), 'rb')
img = MIMEImage(fp.read())
fp.close()
img.add_header('Content-ID', '<logo>')
email.attach(img)
Если открывать письмо в браузере, то все ОК, но если я открываю его на MAC через Mail, то картинка(лого) отображается как прикрепленный файл. Так не должно быть. Как ее убрать от туда? Или как иначе прикреплять картинку к письму?
Заранее благодарен за советы.
===========UPD===========
Нашел, что в клиенте на MAC в источнику письма, в отличии от веб-клинта, есть base64 предствление лого:
Веб:
--===============2904978512032783707==
Content-Type: image/jpeg
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-ID: <logo>
--===============2904978512032783707==--
МАС Mail:
--===============2904978512032783707==
Content-Type: image/jpeg
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-ID: <logo>
TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24J1dCBieSB0
...
LCBleGNlZWRzIHRoZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGhc3VyZS4=
--===============2904978512032783707==--