使用 Gmail 创建的草稿邮件中未呈现图像 API
Images not rendering in draft message created using Gmail API
我正在通过 API 在 GMail 中创建草稿邮件,原始邮件是(在 base64urlencoding 之前):
X-Sender: sender@sender.com.au
X-Receiver: receiver@receiver.com.au
MIME-Version: 1.0
From: sender@sender.com.au
To: receiver@receiver.com.au
Subject: This email is from API
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: quoted-printable
<html>
<style>
p{margin-top:0px; margin-bottom:0px;}
</style>
<body class="setupTab" style=" background-color:#CCCCCC; bEditID:b1st1; bLabel:body;">
<center >
<table cellpadding="0" width="500" cellspacing="0" id="topTable" height="450" >
<tr valign="top" >
<td style=" background-color:#FFFFFF; bEditID:r1st1; bLabel:header; vertical-align:top; height:100; text-align:left;">
<img border="0" bEditID="r1sp1" bLabel="headerImage" id="r1sp1" src="https://cs31.salesforce.com/servlet/servlet.ImageServer?id=<someid>&oid=<someid>" ></img>
....
</body>
</html>
然后用户被重定向到 https://mail.google.com/mail/u/0/#drafts?compose=<id>
查看电子邮件然后发送。
但是 html 的一部分图像不是 rendered/displayed。 html 渲染也存在一些其他小问题,但图像 非常重要 。
有什么想法吗?
您需要创建一个 multipart/related 消息,其中一部分是电子邮件的 HTML 内容,另一部分是图像。图片部分包含指定图片 ID 的 Content-ID header,并且 HTML 图片标签使用 cid:ID_HERE.[= 格式在 src 属性中引用该 ID。 12=]
如果很难创建它,您可以使用此处提到的脚本和库:
creating a MIME email template with images to send with python / django
我尝试了以下替代方法,它在不将消息转换为多部分的情况下工作。
用“=3D”替换所有“=”符号,如下所示:
<img border=3D"0" bEditID=3D"r1sp1" bLabel=3D"headerImage" id=3D"r1sp1" src="https://cs31.salesforce.com/servlet/servlet.ImageServer?id=<someid>&oid=<someid>" ></img>
并使用Contact-Transfer-Encoding: quoted-printable
图像随后在 GMail 草稿中正确呈现。
我正在通过 API 在 GMail 中创建草稿邮件,原始邮件是(在 base64urlencoding 之前):
X-Sender: sender@sender.com.au
X-Receiver: receiver@receiver.com.au
MIME-Version: 1.0
From: sender@sender.com.au
To: receiver@receiver.com.au
Subject: This email is from API
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: quoted-printable
<html>
<style>
p{margin-top:0px; margin-bottom:0px;}
</style>
<body class="setupTab" style=" background-color:#CCCCCC; bEditID:b1st1; bLabel:body;">
<center >
<table cellpadding="0" width="500" cellspacing="0" id="topTable" height="450" >
<tr valign="top" >
<td style=" background-color:#FFFFFF; bEditID:r1st1; bLabel:header; vertical-align:top; height:100; text-align:left;">
<img border="0" bEditID="r1sp1" bLabel="headerImage" id="r1sp1" src="https://cs31.salesforce.com/servlet/servlet.ImageServer?id=<someid>&oid=<someid>" ></img>
....
</body>
</html>
然后用户被重定向到 https://mail.google.com/mail/u/0/#drafts?compose=<id>
查看电子邮件然后发送。
但是 html 的一部分图像不是 rendered/displayed。 html 渲染也存在一些其他小问题,但图像 非常重要 。
有什么想法吗?
您需要创建一个 multipart/related 消息,其中一部分是电子邮件的 HTML 内容,另一部分是图像。图片部分包含指定图片 ID 的 Content-ID header,并且 HTML 图片标签使用 cid:ID_HERE.[= 格式在 src 属性中引用该 ID。 12=]
如果很难创建它,您可以使用此处提到的脚本和库: creating a MIME email template with images to send with python / django
我尝试了以下替代方法,它在不将消息转换为多部分的情况下工作。
用“=3D”替换所有“=”符号,如下所示:
<img border=3D"0" bEditID=3D"r1sp1" bLabel=3D"headerImage" id=3D"r1sp1" src="https://cs31.salesforce.com/servlet/servlet.ImageServer?id=<someid>&oid=<someid>" ></img>
并使用Contact-Transfer-Encoding: quoted-printable
图像随后在 GMail 草稿中正确呈现。