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指令或程序集引用?)