I have been trying to embed images to an email using MIMEImage
but even after replicating examples I find online, I keep having the same issue…
Here is the part of the HTML that embeds the image:
<img width=779 height=467 style='width:8.1145in;height:4.8645in' src="cid:image001" alt="HRX Trend">
This is my Python code:
msg = MIMEMultipart('alternative') msg['Subject'] = "test for daily email" msg['From'] = me msg['To'] = you fp = open('path\name.jpeg', 'rb') msgImage = MIMEImage(fp.read()) msgImage.add_header('Content-ID', '<image001>') part2 = MIMEText(html, 'html') msg.attach(part2) msg.attach(msgImage) s = smtplib.SMTP('domain', port) s.sendmail(me, you, msg.as_string()) s.quit()
But, when the email sends, I keep getting the error saying: The linked image cannot be displayed. The file may have been moved, renamed, or deleted.
Screenshot of what the email ends up looking like:
I have no idea what I am doing wrong…
Thank you!
Advertisement
Answer
I updated the message container and the issue was resolved:
Original:
msg = MIMEMultipart('alternative') msg['Subject'] = "test for daily email" msg['From'] = me msg['To'] = you
New:
msg = MIMEMultipart() msg['Subject'] = "test for daily email" msg['From'] = me msg['To'] = you