2013-03-14 54 views
1

我正在嘗試生成插入圖像的電子郵件文本。我知道我應該使用語法<img src="cid:image-id" />並添加圖像作爲附件。我試圖做到這一點,結果如下:生成內嵌圖像的電子郵件

--===============6239034322813840804== 
Content-Type: multipart/alternative; 
boundary="===============6051774682785554910==" 
MIME-Version: 1.0 

--===============6051774682785554910== 
Content-Type: text/plain; charset="utf-8" 
MIME-Version: 1.0 
Content-Transfer-Encoding: base64 

my email in base64 with text only 

--===============6051774682785554910== 
Content-Type: text/html; charset="utf-8" 
MIME-Version: 1.0 
Content-Transfer-Encoding: base64 

my email in base64 with html 
... 
<img src="cid:my-image.png" alt="My Image"> 
... 

--===============6051774682785554910==-- 
--===============6239034322813840804== 
MIME-Version: 1.0 
Content-Type: image/png; name="badge-img.png" 
Content-Disposition: inline; filename="badge-img.png" 
Content-ID: <badge-img.png> 
Content-Transfer-Encoding: base64 

iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI 
... 

發送時,圖像在附件(可以打開它,有效的圖像)。但在顯示的電子郵件內容中,我只能看到alt文本「我的圖像」,而不是圖像。

任何想法爲什麼?

回答

0

好吧,我想我找到了問題。我必須使用multipart/related內容類型並更改結構。我有目前這樣的事情

<email> 
    <part1 content-type=multipart/alternative> 
     <subpart1>plain text</subpart1> 
     <subpart2>html text</subpart2> 
    </part1> 
    <part2> 
     attachments 
    </part2> 
</email> 

,應該有這樣的事情

<email> 
    <part content-type=multipart/alternative> 
     <subpart1>plain text</subpart1> 
     <subpart2 content-type=multipart/related> 
      <subsubpart1>html text</subsubpart1> 
      <subsubpart2>attachments</subsubpart2> 
     </subpart2> 
    </part> 
</email> 

我仍然可以更改我的代碼來適應,但它似乎是這個問題。