很多企業發出的郵件都是圖文並茂的其中有部分是在郵件中引用網上的圖片網址更專業些的方法是直接在郵件中通過內聯附件內嵌圖片這個功能可以由一些郵件客戶端程序實現那麼我們怎麼在Net中實現這一功能呢?
搜索了一下找到了一位台灣程序員分享的方法但這個方法經我驗證是錯誤的其他就沒找到什麼有用的資料了
經過嘗試我找到了正確的方法而且非常簡單
設置附件的ContentId屬性為一個自定義名稱
設置附件的ContentDispositionInline屬性為true
在郵件的HTML格式正文中以cid:自定義名稱的方式引用比如ContentId設為face那麼正文中就以cid:face作為其URL路徑字符串的替代即可
原來我在編寫MailMail的時候曾使用過這種方法來使郵件內的鏈接指向附件而用作圖片顯示僅僅是多了一個設為內聯附件的步驟
來看一下完整的測試代碼
模糊隱去的部分是郵件地址用戶名密碼不需在意
以上測試中最終組成的郵件內容代碼就是
<img src=cid:MyPic /><a href=cid:MyPic target=_blank>點擊在新窗口打開圖片</a>
郵件客戶端在收到此郵件後
將會自動將引用代碼轉換為實際的Url地址
這是Gmail中的收到的郵件效果
這是的
本人不用桌面版郵件客戶端所以就沒去測試桌面客戶端離線閱讀的效果但可以肯定是沒有問題的這正是內嵌圖片的最大優勢所在
From:http://tw.wingwit.com/Article/program/net/201311/11572.html