在创建邮件并使用Gmail API创建草稿或电子邮件时,您是否可以在正文中嵌入图片?我希望实际嵌入的图像数据类似于将图像(实际数据,而不是链接)复制和粘贴到Gmail电子邮件中,将图像放在内容中.
可以这样做,还是我需要将图像上传到其他位置并使用HTML将图像嵌入电子邮件中?有关如何做的任何指示?
我正在尝试使用内嵌图像在Django中创建一个电子邮件.
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()
Run Code Online (Sandbox Code Playgroud)
在模板中我会像这样引用它:
<img src="cid:image1" />
Run Code Online (Sandbox Code Playgroud)
这在web浏览器,outlook,thunderbird中都很好用......除了OSX,iPad和iPhone上的苹果邮件客户端.图像显示两次.它们正确放置在内联,但它们也附在电子邮件的底部.我的问题是,如何摆脱底部的图像?或者我应该以不同方式处理电子邮件中的图像
参考文献:
http://djangosnippets.org/snippets/1507/
Django:如何发送带有嵌入式图像的HTML电子邮件,创建一个带有要使用python/django发送的图像
的MIME电子邮件模板
我看过其他几篇文章,包括:
创建带有图像的MIME电子邮件模板以使用python / django发送
这些以及smtplib和电子邮件的python文档使我离我很近。我正在使用下面的代码来创建嵌入了简单jpg的电子邮件。如果我将电子邮件发送给gmail,它将很好地显示嵌入的图像,但Outlook 2013无法显示。
import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
from email.MIMEImage import MIMEImage
From = ''
To = ''
msg = MIMEMultipart()
msg['Subject'] = 'image test message'
msg['From'] = From
msg['To'] = To
text = 'This is sample text from me'
html = '''
<html>
<head>
<title> this is a test title </title>
</head>
<body>
<p> Test me <br>
Another line <br>
This is the image you were looking for <img …Run Code Online (Sandbox Code Playgroud) 我必须在系统事件(服务窗口,警报等)上发送计划的支持通知电子邮件.我看到我从供应商处收到的大多数此类电子邮件都是纯文本格式.
我想我是否应该坚持纯文本格式(伴随限制)或提供基于HTML的更好的可视化?
我知道不同的电子邮件客户端的HTML呈现能力有限,但我认为没有复杂的HTML图像可以.
我正在使用Python向gmail帐户发送电子邮件.这是我正在使用的代码
msg = email.mime.multipart.MIMEMultipart()
msg['From'] = 'myemail@gmail.com'
msg['To'] = 'toemail@gmail.com'
msg['Subject'] = 'HTML test'
msg_html = email.mime.text.MIMEText('<html><head></head><body><b>This is HTML</b></body></html>', 'html')
msg_txt = email.mime.text.MIMEText('This is text','plain')
msg.attach(msg_html)
msg.attach(msg_txt)
#SNIP SMTP connection code
smtpConn.sendmail('myemail@gmail.com', 'toemail@gmail.com', msg.as_string())
Run Code Online (Sandbox Code Playgroud)
当我在Gmail中查看此电子邮件时,HTML和文本版本都显示如下:
这是HTML
这是文字
它应该是显示文本还是html,导致此行为的原因.