2012-01-10 135 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

相關問題