2015-09-26 38 views
0

我有一個代碼可以從excel創建幾封電子郵件。一切正常,期待我的.htm文件中的圖像成爲電子郵件正文。爲電子郵件正文讀取HTM文件,但圖像不起作用

我在word上編寫電子郵件並將其保存爲網頁,並將其過濾。然後我使用這段代碼將整個文件讀入一個字符串並將其放在.HTMLBody上。

Dim strLine As String 
Open strBody For Input As #1 
strBody = "" 
Do While Not EOF(1) 
    Line Input #1, strLine 
    strBody = strBody & vbCrLf & strLine 
Loop 
Close #1 

在完成的電子郵件中,我的圖像出現錯誤「無法顯示鏈接的圖像...」。
如果我在Outlook上打開一個新郵件窗口並將.htm文件作爲文本插入(無需保存或執行其他任何操作),則會顯示該圖像。

回答

1

Outlook使用Word來渲染圖像,而Word不支持嵌入式(src="data:image")圖像。您需要將圖像作爲文件附加,在附件上設置PR_ATTACH_CONTENT_ID屬性(Attachment.PropertyAccessor.SetProperty),並確保您的HTML通過src=cid:xyz屬性(其中xyz是PR_ATTACH_CONTENT_ID屬性的值)引用圖像。

PR_ATTACH_CONTENT_ID property DASL name is http://schemas.microsoft.com/mapi/proptag/0x3712001F