C# 在asp.net c中发送html页面作为电子邮件的消息体#
我写了下面的代码来发送一封邮件,邮件正文是一个html页面。 我运行此代码时没有收到任何错误,但没有收到任何邮件。我尝试将正文作为简单的消息字符串,然后我收到了电子邮件,但并没有像html页面那样作为消息正文。 出什么事了?请帮忙C# 在asp.net c中发送html页面作为电子邮件的消息体#,c#,asp.net,C#,Asp.net,我写了下面的代码来发送一封邮件,邮件正文是一个html页面。 我运行此代码时没有收到任何错误,但没有收到任何邮件。我尝试将正文作为简单的消息字符串,然后我收到了电子邮件,但并没有像html页面那样作为消息正文。 出什么事了?请帮忙 protected void btnSend_Click(object sender, EventArgs e) { SendHTMLMail(); } public void SendHTMLMail() {
protected void btnSend_Click(object sender, EventArgs e)
{
SendHTMLMail();
}
public void SendHTMLMail()
{
//var path = Server.MapPath("~/test/HTMLPage.htm");
StreamReader reader = new StreamReader(Server.MapPath("~/expo_crm/test/HTMLPage.htm"));
string readFile = reader.ReadToEnd();
string myString = "";
myString = readFile;
SmtpClient smtp = new SmtpClient
{
Host = "mail.abc.com", // smtp server address here…
Port = 25,
EnableSsl = false,
DeliveryMethod = SmtpDeliveryMethod.Network,
Credentials = new System.Net.NetworkCredential("abc@xyz.com", "xxxx"),
Timeout = 30000,
};
MailMessage message = new MailMessage("abc@xyz.com", "akshata@gmail.com", " html ", myString);
message.IsBodyHtml = true;
smtp.Send(message);
}
大多数情况下,邮件服务器都会检查html内容,并根据邮件中的链接、图像等html标记将其标记为垃圾邮件。请确保您的HTML标记数量较少,可能没有外部链接、图像,然后重试发送邮件。大多数情况下,邮件服务器会根据邮件中的链接、图像等HTML标记检查HTML内容并将其标记为垃圾邮件。请确保您的HTML标记数量较少,可能没有外部链接、图像,然后重试发送邮件。大多数情况下,邮件服务器会根据邮件中的链接、图像等HTML标记检查HTML内容并将其标记为垃圾邮件。请确保您的HTML标记数量较少,可能没有外部链接、图像,然后重试发送邮件。大多数情况下,邮件服务器会根据邮件中的链接、图像等HTML标记检查HTML内容并将其标记为垃圾邮件。请确保您的HTML标记数量较少,可能没有外部链接、图像,然后重试发送邮件。如果有帮助,请参阅下面的工作代码
public void SendEmail(ListDictionary email)
{
try
{
var msg = new MailMessage {From = new MailAddress(_emailUsername, _emailFrom), BodyEncoding = Encoding.UTF8, Subject = Convert.ToString(email["SUBJECT"]), Priority = MailPriority.Normal};
//
var emailTo = (List<string>) email["TO"];
var emailCc = (List<string>) email["CC"];
var emailBcc = (List<string>) email["BCC"];
foreach (var to in emailTo.Where(to => to.Length > 1))
msg.To.Add(to);
foreach (var cc in emailCc.Where(cc => cc.Length > 1))
msg.CC.Add(cc);
foreach (var bcc in emailBcc.Where(bcc => bcc.Length > 1))
msg.Bcc.Add(bcc);
//
msg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(Convert.ToString(email["BODY_TEXT"]), Encoding.UTF8, "text/plain"));
msg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(Convert.ToString(email["BODY_HTML"]), Encoding.UTF8, "text/html"));
//
new SmtpClient
{
Credentials = new NetworkCredential(_emailUsername, _emailPassword),
DeliveryMethod = SmtpDeliveryMethod.Network,
EnableSsl = true,
Host = "smtp.gmail.com"
}.Send(msg);
}
catch (Exception e)
{
L.Get().Fatal("Failed", e);
}
}
public void sendmail(列表字典电子邮件)
{
尝试
{
var msg=new-MailMessage{From=new-mailmaddress(_-emailUsername,_-emailFrom),BodyEncoding=Encoding.UTF8,Subject=Convert.ToString(email[“Subject]”),Priority=MailPriority.Normal};
//
var emailTo=(列表)email[“TO”];
var emailCc=(列表)email[“CC”];
var emailBcc=(列表)电子邮件[“BCC”];
foreach(emailTo.Where中的var to(to=>to.Length>1))
msg.To.Add(To);
foreach(emailCc.Where中的var cc(cc=>cc.Length>1))
msg.CC.Add(CC);
foreach(emailBcc.Where中的var bcc(bcc=>bcc.Length>1))
msg.Bcc.Add(Bcc);
//
msg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(Convert.ToString(email[“BODY_TEXT]”),Encoding.UTF8,“TEXT/plain”);
msg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(Convert.ToString(email[“BODY_HTML]”),Encoding.UTF8,“text/HTML”);
//
新SmtpClient
{
凭据=新的网络凭据(\u emailUsername,\u emailPassword),
DeliveryMethod=SmtpDeliveryMethod.Network,
EnableSsl=true,
Host=“smtp.gmail.com”
}.Send(msg);
}
捕获(例外e)
{
L.Get().致命(“失败”,e);
}
}
如果有帮助,这里是工作代码
public void SendEmail(ListDictionary email)
{
try
{
var msg = new MailMessage {From = new MailAddress(_emailUsername, _emailFrom), BodyEncoding = Encoding.UTF8, Subject = Convert.ToString(email["SUBJECT"]), Priority = MailPriority.Normal};
//
var emailTo = (List<string>) email["TO"];
var emailCc = (List<string>) email["CC"];
var emailBcc = (List<string>) email["BCC"];
foreach (var to in emailTo.Where(to => to.Length > 1))
msg.To.Add(to);
foreach (var cc in emailCc.Where(cc => cc.Length > 1))
msg.CC.Add(cc);
foreach (var bcc in emailBcc.Where(bcc => bcc.Length > 1))
msg.Bcc.Add(bcc);
//
msg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(Convert.ToString(email["BODY_TEXT"]), Encoding.UTF8, "text/plain"));
msg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(Convert.ToString(email["BODY_HTML"]), Encoding.UTF8, "text/html"));
//
new SmtpClient
{
Credentials = new NetworkCredential(_emailUsername, _emailPassword),
DeliveryMethod = SmtpDeliveryMethod.Network,
EnableSsl = true,
Host = "smtp.gmail.com"
}.Send(msg);
}
catch (Exception e)
{
L.Get().Fatal("Failed", e);
}
}
public void sendmail(列表字典电子邮件)
{
尝试
{
var msg=new-MailMessage{From=new-mailmaddress(_-emailUsername,_-emailFrom),BodyEncoding=Encoding.UTF8,Subject=Convert.ToString(email[“Subject]”),Priority=MailPriority.Normal};
//
var emailTo=(列表)email[“TO”];
var emailCc=(列表)email[“CC”];
var emailBcc=(列表)电子邮件[“BCC”];
foreach(emailTo.Where中的var to(to=>to.Length>1))
msg.To.Add(To);
foreach(emailCc.Where中的var cc(cc=>cc.Length>1))
msg.CC.Add(CC);
foreach(emailBcc.Where中的var bcc(bcc=>bcc.Length>1))
msg.Bcc.Add(Bcc);
//
msg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(Convert.ToString(email[“BODY_TEXT]”),Encoding.UTF8,“TEXT/plain”);
msg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(Convert.ToString(email[“BODY_HTML]”),Encoding.UTF8,“text/HTML”);
//
新SmtpClient
{
凭据=新的网络凭据(\u emailUsername,\u emailPassword),
DeliveryMethod=SmtpDeliveryMethod.Network,
EnableSsl=true,
Host=“smtp.gmail.com”
}.Send(msg);
}
捕获(例外e)
{
L.Get().致命(“失败”,e);
}
}
如果有帮助,这里是工作代码
public void SendEmail(ListDictionary email)
{
try
{
var msg = new MailMessage {From = new MailAddress(_emailUsername, _emailFrom), BodyEncoding = Encoding.UTF8, Subject = Convert.ToString(email["SUBJECT"]), Priority = MailPriority.Normal};
//
var emailTo = (List<string>) email["TO"];
var emailCc = (List<string>) email["CC"];
var emailBcc = (List<string>) email["BCC"];
foreach (var to in emailTo.Where(to => to.Length > 1))
msg.To.Add(to);
foreach (var cc in emailCc.Where(cc => cc.Length > 1))
msg.CC.Add(cc);
foreach (var bcc in emailBcc.Where(bcc => bcc.Length > 1))
msg.Bcc.Add(bcc);
//
msg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(Convert.ToString(email["BODY_TEXT"]), Encoding.UTF8, "text/plain"));
msg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(Convert.ToString(email["BODY_HTML"]), Encoding.UTF8, "text/html"));
//
new SmtpClient
{
Credentials = new NetworkCredential(_emailUsername, _emailPassword),
DeliveryMethod = SmtpDeliveryMethod.Network,
EnableSsl = true,
Host = "smtp.gmail.com"
}.Send(msg);
}
catch (Exception e)
{
L.Get().Fatal("Failed", e);
}
}
public void sendmail(列表字典电子邮件)
{
尝试
{
var msg=new-MailMessage{From=new-mailmaddress(_-emailUsername,_-emailFrom),BodyEncoding=Encoding.UTF8,Subject=Convert.ToString(email[“Subject]”),Priority=MailPriority.Normal};
//
var emailTo=(列表)email[“TO”];
var emailCc=(列表)email[“CC”];
var emailBcc=(列表)电子邮件[“BCC”];
foreach(emailTo.Where中的var to(to=>to.Length>1))
msg.To.Add(To);
foreach(emailCc.Where中的var cc(cc=>cc.Length>1))
msg.CC.Add(CC);
foreach(emailBcc.Where中的var bcc(bcc=>bcc.Length>1))
msg.Bcc.Add(Bcc);
//
msg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(Convert.ToString(email[“BODY_TEXT]”),Encoding.UTF8,“TEXT/plain”);
msg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(Convert.ToString(email[“BODY_HTML]”),Encoding.UTF8,“text/HTML”);
//
新SmtpClient
{
凭据=新的网络凭据(\u emailUsername,\u emailPassword),
DeliveryMethod=SmtpDeliveryMethod.Network,