我最近從使用EWS切換到使用Interop.Outlook(see this article)。該過程非常易於使用!Interop.Outlook HTML格式的消息顯示爲純文本
不幸的是,我有一個在EWS中不存在的問題:即使BodyFormat設置爲true,Outlook也不會處理HTML主體。在此代碼示例(VB.NET)中,MessageBody確實以< HTML開頭。通過調試,我確認在執行顯示時BodyFormat被設置爲HTML。儘管如此,電子郵件正文仍顯示爲純文本。
Dim Outlook As New Outlook.Application
Dim mail As Outlook.MailItem = DirectCast(Outlook.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem), Outlook.MailItem)
With mail
.To = Addr
.Subject = Subject
.Body = MessageBody
.BodyFormat = If(MessageBody.ToLower.StartsWith("<html"),
Microsoft.Office.Interop.Outlook.OlBodyFormat.olFormatHTML,
Microsoft.Office.Interop.Outlook.OlBodyFormat.olFormatPlain)
.Display(Modal)
使用EWS時,正確顯示正確的正文文本。
那是一個容易出錯的方法來檢測HTML .... –
你會怎麼建議?即使在執行if語句之前,BodyFormat屬性也設置爲true。無論哪種方式,它仍然以純文本形式顯示HTML。 – Ebassador