C# 在asp.net c中发送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() {

我写了下面的代码来发送一封邮件,邮件正文是一个html页面。 我运行此代码时没有收到任何错误,但没有收到任何邮件。我尝试将正文作为简单的消息字符串,然后我收到了电子邮件,但并没有像html页面那样作为消息正文。 出什么事了?请帮忙

    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,