Gmail中的HTML电子邮件 - 嵌入图像 [英] HTML Email in Gmail - embedding images

查看:118
本文介绍了Gmail中的HTML电子邮件 - 嵌入图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在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


感谢任何建议!

解决方案

我已按照问题中的说明 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆