Gmail中的HTML电子邮件 - 嵌入图像 [英] HTML Email in Gmail - embedding images
问题描述
在gmail中嵌入图像的HTML邮件 - 带有以下电子邮件正文 - 只是将精确的文本吐出。它没有显示body标签内部的内容。
这是邮件内容:
Content-Type:multipart / related;
boundary =bananarepublic12345
这是MIME格式的多部分信息。
--banana12345republic
Content-Type:text / html; charset = ISO-8859-1
Content-Transfer-Encoding:7bit
<!DOCTYPE html PUBLIC - // W3C // DTD HTML 4.01 // EN
http://www.w3.org/TR/html4/strict.dtd\">
< html>
< head>
< title>测试嵌入图片< / title>
< / head>
< body bgcolor =#000>
< h1>测试嵌入式图像< / h1>
< img src =cid:mamboalt =备用文本>
< / body>
< / html>
--bananarepublic12345
内容类型:image / jpeg; name = big-image1.jpg
Content-Transfer-Encoding:base64
Content-ID:< mambo>
内容处理:内联;
filename =big-image1.jpg
/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ...//2Q%3D%3D
$ c $
感谢任何建议!
解决方案我已按照问题中的说明 4018709 兼容,它很好地工作。综上所述,您需要将附件的content-id设置为消息ID(反过来,它们的格式如电子邮件地址 - 带有@和域),并在MIME部分头中包含内容ID值(如你已经这样做)。
所以一个样本电子邮件可能如下所示:
日期:2011年12月2日星期五06:57:55 GMT
消息ID:< 201112020657.pB26vttQ010231@geek.co.il>
Content-Type:multipart / related;边界= = - 布拉布拉; type =multipart / alternative
From:Some sender< some-sender@geek.co.il>
致:Me< me@geek.co.il>
主题:嵌入图片的HTML内容
MIME-Version:1.0
- = - blabla
Content-Type:text / html; charset =utf-8
Content-Transfer-Encoding:quoted-printable
< html>< body>
< h1>标头< / h1>
< h2>< a href = 3Dhttp://geek.co.il>连结< / a>< / h2>
< p>
< img border = 3D0=
src = 3Dcid:some.random.id@geek.co.il/>
< p>
< / body>< / html>
- = - blabla
Content-ID:< some.random.id@geek.co.il>
内容处理:内联; filename =image.png
Content-Type:image / png; name =image.png
Content-Transfer-Encoding:base64
iVBORw0KGgoAAAANSUhEUgAAA9YAAAE2CAMAAACz7PorAAADAFBMVEUAAAC9 ...
HTML mail with an embedded image in gmail - with the following email body - just spits out the exact text. It does not show what's inside the "body" tags.
This is the content of the mail:
Content-Type: multipart/related;
boundary="bananarepublic12345"
This is a multipart message in MIME format.
--banana12345republic
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>testing embedded image</title>
</head>
<body bgcolor="#000">
<h1> Testing Embedded Image</h1>
<img src="cid:mambo" alt="ALTERNATE TEXT" >
</body>
</html>
--bananarepublic12345
Content-Type: image/jpeg; name=big-image1.jpg
Content-Transfer-Encoding: base64
Content-ID: <mambo>
Content-Disposition: inline;
filename="big-image1.jpg"
/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ...//2Q%3D%3D
Where am I going wrong?
Thanks for any suggestion!
解决方案 I've followed the instructions in question 4018709 and it worked nicely. To sum it up, you need the content-ids for the attachment to be formatted like message IDs (which in turn are formatted like email addresses - with an @ and a domain), and have the content ID value in the MIME part header of the image enclosed in angle brackets (like you already do).
So a sample email may look like this:
Date: Fri, 2 Dec 2011 06:57:55 GMT
Message-Id: <201112020657.pB26vttQ010231@geek.co.il>
Content-Type: multipart/related; boundary="=-blabla"; type="multipart/alternative"
From: Some sender <some-sender@geek.co.il>
To: Me <me@geek.co.il>
Subject: HTML content with embedded images
MIME-Version: 1.0
--=-blabla
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
<html><body>
<h1>Header</h1>
<h2><a href=3D"http://geek.co.il">link</a></h2>
<p>
<img border=3D"0" =
src=3D"cid:some.random.id@geek.co.il"/>
<p>
</body></html>
--=-blabla
Content-ID: <some.random.id@geek.co.il>
Content-Disposition: inline; filename="image.png"
Content-Type: image/png; name="image.png"
Content-Transfer-Encoding: base64
iVBORw0KGgoAAAANSUhEUgAAA9YAAAE2CAMAAACz7PorAAADAFBMVEUAAAC9...
这篇关于Gmail中的HTML电子邮件 - 嵌入图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!