Html没有出现在Outlook邮件中

时间:2015-03-31 16:28:48

标签: c# html outlook

我有以下代码在循环中向不同的收件人发送电子邮件

public void SendMail2(string subject, string body, string emailAddress, string cc)
    {

        Microsoft.Office.Interop.Outlook.Application app = new Microsoft.Office.Interop.Outlook.Application();
        Microsoft.Office.Interop.Outlook.MailItem mailItem = app.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem);
        mailItem.Subject = subject;
        mailItem.To = emailAddress;
        mailItem.CC = cc;
        mailItem.Body = body;
        mailItem.SentOnBehalfOfName = "name";
        mailItem.Display(false);
        mailItem.Send();
    }

然而,html只是显示为电子邮件中所有标签的文本,而在我使用时它是完美的

        // Create the Outlook application.
        Outlook.Application oApp = new Outlook.Application();

        // Get the NameSpace and Logon information.
        Outlook.NameSpace oNS = oApp.GetNamespace("mapi");

        // Log on by using a dialog box to choose the profile.
        oNS.Logon(Missing.Value, Missing.Value, true, true); 

但我不得不恢复到第一种方法,以便我可以更改“发件人”地址

有什么想法吗?

3 个答案:

答案 0 :(得分:4)

  

mailItem.Body = body;

这是因为您使用Body属性。请改用HTMLBody

答案 1 :(得分:3)

mailItem.IsBodyHtml= true;
如果我理解你的问题,

会做你想要的事情

答案 2 :(得分:3)

尝试使用mailItem.HTMLBody = Body;代替mailItem.Body = body;,然后添加mailItem.BodyFormat = olFormatHTML;