Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# outlook邮件中未显示Html_C#_Html_Outlook - Fatal编程技术网

C# outlook邮件中未显示Html

C# outlook邮件中未显示Html,c#,html,outlook,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.Offi

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

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只是以文本的形式显示,带有电子邮件中的所有标记,而当我使用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); 
但是我必须回到第一种方法,这样我才能更改“发件人”地址

有什么想法吗

mailItem.IsBodyHtml= true;

如果我了解你的问题,我会做你想做的事

尝试使用
mailItem.HTMLBody=Body
而不是
mailItem.Body=Body
,然后添加
mailItem.BodyFormat=olFormatHTML

mailItem.Body=Body


这是因为您使用了该属性。请改为使用。

我不经常使用C,但我相信一定有某种方法可以设置电子邮件的内容类型。将其设置为text/html,您就可以使用下面提到的goAs,唯一需要的更改是mailItem.HTMLBody=body;工作得很有魅力,非常感谢,再过8分钟我就答不上来了。这对我也很有用;所有其他想法都不会为我编译。通过这个,我得到了“当前上下文中不存在名称‘Body’”和“当前上下文中不存在名称‘olFormatHTML’”。通过这个,我得到,““Microsoft.Office.Interop.Outlook.MailItem”不包含“IsBodyHtml”的定义,并且找不到接受类型为“Microsoft.Office.Interop.Outlook.MailItem”的第一个参数的扩展方法“IsBodyHtml”(是否缺少using指令或程序集引用?)