如何确保HTML电子邮件中嵌入的图像显示?

时间:2012-01-10 13:45:59

标签: html image email attachment embedding

我必须发送一封电子邮件,其中包含图片及其周围的文字。我已经可以发送HTML电子邮件,附上Content-ID: <Picture.jpg>的图片,然后将其引用为<img src="cid:Picture.jpg" alt="" />。可爱。

问题 - 许多邮件客户端默认情况下不显示。例如,默认情况下,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: <e42be75d-53b2-46c7-a1c6-150c95b86ba6@[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 - 虽然我确实看到了这个问题中的误用潜力,但事实是这是来自合法的场景。我正在为办公文具供应商制作网站购物网站。客户想要在产品页面中“发送到电子邮件”按钮,以便访问者可以向他们的朋友/老板/其他任何人发送有趣的产品描述。我正在尝试将产品图片包含在电子邮件中。客户抱怨图像没有显示。

3 个答案:

答案 0 :(得分:2)

this answer复制:

Content-ID标题的值应该在same format as a message-id中,而looks very much like an email address依次为{{3}}。 <Picture.jpg@yourmailer>有更好的机会与大多数邮寄者合作。

答案 1 :(得分:1)

我认为您不能强制电子邮件客户端以某种方式显示电子邮件。试想一下这会带来的安全问题! 也许您可以找到在客户的客户端配置的选项并将其推荐给他。

答案 2 :(得分:1)

大多数电子邮件客户端将始终隐藏html电子邮件正文中的图像,除非它是从受信任的发件人发送的。想想看,如果某个垃圾网站要向您发送不适当的图片,您是否希望它们在您打开电子邮件时弹出?

您唯一能做的就是要求收件人选择电子邮件中的选项,以便始终显示此发件人的图片。此外,根据我的经验,图像不会作为电子邮件中的附件发送,而是图像标记指向发件人托管的图像。