2012-01-10 139 views
4

我必须发送一封电子邮件,其中包含一张图片和一些文字。我已经可以发送HTML电子邮件,附上Content-ID: <Picture.jpg>的图片,然后将其作为<img src="cid:Picture.jpg" alt="" />来引用。可爱。如何确保嵌入在HTML电子邮件中的图像显示出来?

问题 - 许多邮件客户端默认不显示它。例如,默认情况下,GMail仅显示来自您至少发送过两封电子邮件的发件人的照片。我不知道Mozilla Thunderbird,但是根据客户的抱怨来判断,它的确有类似的东西 - 图片显示为附件,并且不会出现在电子邮件正文中。

我在做什么错/可以做的更好?

下面是一个电子邮件的[censored]副本:

Delivered-To: [censored] 
Received: by 10.204.187.8 with SMTP id cu8cs411179bkb; 
     Wed, 4 Jan 2012 05:36:05 -0800 (PST) 
Received: by 10.152.106.45 with SMTP id gr13mr25346083lab.9.1325684164222; 
     Wed, 04 Jan 2012 05:36:04 -0800 (PST) 
Return-Path: <[censored]> 
Received: from [censored] ([censored]. [[censored]]) 
     by mx.google.com with ESMTPS id nq10si44421925lab.26.2012.01.04.05.36.03 
     (version=TLSv1/SSLv3 cipher=OTHER); 
     Wed, 04 Jan 2012 05:36:03 -0800 (PST) 
Received-SPF: pass (google.com: best guess record for domain of [censored] designates [censored] as permitted sender) client-ip=[censored]; 
Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of [censored] designates [censored] as permitted sender) smtp.mail=[censored] 
Received: from [censored] ([censored]) by [censored] ([censored]) with 
Microsoft SMTP Server id 8.1.436.0; Wed, 4 Jan 2012 15:36:03 +0200 
MIME-Version: 1.0 
From: [censored] 
To: [censored] 
Date: Wed, 4 Jan 2012 15:36:02 +0200 
Subject: Test 
Content-Type: multipart/mixed; 
    boundary="--boundary_1_5d3b21f4-0e5d-4727-a2a2-a49bb2ad5062" 
Message-ID: <[email protected][censored]> 
Return-Path: [censored] 

----boundary_1_5d3b21f4-0e5d-4727-a2a2-a49bb2ad5062 
Content-Type: text/html; charset="utf-8" 
Content-Transfer-Encoding: base64 

[snip base64 encoded HTML] 
----boundary_1_5d3b21f4-0e5d-4727-a2a2-a49bb2ad5062 
Content-Type: image/jpeg; name="Picture.jpg" 
Content-Transfer-Encoding: base64 
Content-Disposition: attachment 
Content-ID: <Picture.jpg> 

[snip base64 encoded JPEG] 
----boundary_1_5d3b21f4-0e5d-4727-a2a2-a49bb2ad5062-- 

补充:到downvoters - 虽然我看到在这个问题上滥用潜力,事实是,这是一个合法的情况。我正在为一家办公文具供应商打造一个网上购物网站。客户需要在产品页面上发送“发送到电子邮件”按钮,以便访问者可以将有趣的产品描述发送给他们的朋友/老板/其他人。我试图在电子邮件中包含产品图片。客户抱怨图片没有显示。

+0

嘿,这与downvote的? – 2012-01-10 13:59:10

+0

你不能重写每个MUA。您需要找到让MUA信任您的电子邮件地址的方法(例如,发回电子邮件以获得优惠券)和/或找到其他方法来解决问题。你的客户不合理。如果他们认为这是可能的,请他们证明它 - 即向您展示解决问题的电子邮件示例。 – symcbean 2012-01-10 14:15:12

+0

我们还没有那么远,到目前为止,她一直很合理。我只是想知道是否没有我错过的东西。毕竟,这是我第一次使用嵌入式图片进行电子邮件。 – 2012-01-10 14:21:39

回答

1

大多数邮件客户端会一直隐藏在一个HTML电子邮件的正文中的图像,除非它是从可信任的发送者。想想看,如果某些垃圾邮件网站向您发送了不适当的图片,您是否希望它们在您打开电子邮件时弹出?

你能做的唯一一件事就是要求收件人选择在电子邮件中的选项始终从该发件人显示图片。另外,根据我的经验,图像不会作为电子邮件的附件发送,而是图像标签指向发件人托管的图像。

+0

这就是我选择嵌入它的原因之一 - 以便显示图像的可能性更大。 – 2012-01-10 13:58:43

1

我不认为你可以强制电子邮件客户端以某种方式显示电子邮件。只要想一想这会带来的安全问题!
也许你可以找到在客户的客户端配置的选项并向他推荐它们。

+0

如果图片被嵌入,我无法想到任何安全问题。链接的图片,是的。 – 2012-01-10 14:00:13

+0

正如Danny所说,你不希望不合适的照片被默认显示......这本身对我来说是一个“安全问题”。也许我对“安全”的定义有点不同:)无论如何 - 重点是:我也是;我想不出一种强制全球所有支持HTML的Mailclient显示(嵌入)图片的方法。 – Fildor 2012-01-10 14:04:02

+0

大多数大客户都会像GMail和Thunderbird那样执行客户端测试。 :P – 2012-01-10 14:06:39

相关问题