Ich versuche, eine E-Mail in Django mit Inline-Bildern zu erstellen.Anzeigen von Inline-Bildern auf dem iPhone, iPad
msg = EmailMultiAlternatives(...)
image_file = open('file_path', 'rb')
img = MIMEImage(img_data)
image_file.close()
img.add_header('Content-ID', '<image1>')
img.add_header('Content-Disposition', 'inline')
msg.attach(img)
msg.send()
Und in der Vorlage würde ich es wie so Referenz:
<img src="cid:image1" />
Dies funktioniert gut in Web-Browsern, Outlook, Thunderbird ... alle mit Ausnahme des Apfel-Mail-Client auf OSX, iPad und iPhone. Die Bilder werden zweimal angezeigt. Sie sind inline richtig platziert, aber sie sind auch an den unteren Rand der E-Mail angehängt. Meine Frage ist, wie kann ich die Bilder unten loswerden? oder sollte ich Bilder in E-Mails anders ansprechen?
Referenzen:
http://djangosnippets.org/snippets/1507/
Django: How to send HTML emails with embedded images
creating a MIME email template with images to send with python/django
Verteilen Sie Ihre Frage auf ein spezifischeres Tag wie "email" oder "apple-email", um Leute zu finden, die mehr daran interessiert sind und vergessen, nach "erstellt mit Django email" zu fragen. – hynekcer
danke für den Hinweis – SunnySydeUp
Das Anfügen von Bildern (soweit ich weiß) ist ein Versuch, sie standardmäßig anzeigen zu lassen - dh ohne ein "Alle Bilder von [email protected]" aktivieren zu müssen, so dass die Alternative stattdessen eine ist URL zu einem Bild, das auf Ihrem Server gehostet wird. Das Bild wird nur einmal angezeigt, erfordert jedoch möglicherweise eine Aktion des Benutzers. –