C# 不以表格格式C发送的邮件#

C# 不以表格格式C发送的邮件#,c#,asp.net,visual-studio-2012,smtp,sendmail,C#,Asp.net,Visual Studio 2012,Smtp,Sendmail,我使用以下代码发送邮件: DataTable dt = Session["dt"] as DataTable; string MailBody = "<html><table><tr><td><b>SNo.</b></td><td><b>ServerIP</b></td><td><b>ServerName<

我使用以下代码发送邮件:

        DataTable dt = Session["dt"] as DataTable;
        string MailBody = "<html><table><tr><td><b>SNo.</b></td><td><b>ServerIP</b></td><td><b>ServerName</b></td><td><b>JobName</b></td><td><b>RunDateTime</b></td><td><b>RunStatus</b></td><td><b>Duration</b></td><td><b>ItemInventoryCount</b></td></tr>";
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            MailBody += "<tr><td>" + Convert.ToString(i + 1) + "</td>";
            MailBody += "<td>" + dt.Rows[i]["ServerIP"] + "</td>";
            MailBody += "<td>" + dt.Rows[i]["ServerName"] + "</td>";
            MailBody += "<td>" + dt.Rows[i]["JobName"] + "</td>";
            MailBody += "<td>" + dt.Rows[i]["RunDateTime"] + "</td>";
            MailBody += "<td>" + dt.Rows[i]["RunStatus"] + "</td>";
            MailBody += "<td>" + dt.Rows[i]["Duration"] + "</td>";
            MailBody += "<td>" + dt.Rows[i]["ItemInventoryCount"] + "</td></tr>";
        }
        MailBody += "</table></html>";

        MailMessage message = new MailMessage();
        string fromEmail = "abc@domain.com";
        string fromPW = "pwd123";
        string toEmail = "abcdefgh@gmail.com";
        message.From = new MailAddress(fromEmail);
        message.To.Add(toEmail);
        message.Subject = "Test Mail";
        message.Body = MailBody;
        message.IsBodyHtml = true;
        message.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
        SmtpClient smtpClient = new SmtpClient("smtp4.domain.com", 1028);
        smtpClient.EnableSsl = false;
        smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
        smtpClient.UseDefaultCredentials = false;
        smtpClient.Credentials = new NetworkCredential(fromEmail, fromPW);
        smtpClient.Send(message.From.ToString(), message.To.ToString(), message.Subject, message.Body);
DataTable dt=会话[“dt”]作为DataTable;
string MailBody=“SNo.ServerIPServerNameJobNameRunDateTimeRunStatusDurationItemInventoryCount”;
对于(int i=0;i

但我收到的邮件是“邮件正文”中的字符串。我错过什么了吗?请建议。

尝试使用HTML和Body标记

DataTable dt = Session["dt"] as DataTable;
        string MailBody = "<html><head><meta content=""text/html; charset=utf-8"" http-equiv=""Content-Type""></head><body><table><tr><td><b>SNo.</b></td><td><b>ServerIP</b></td><td><b>ServerName</b></td><td><b>JobName</b></td><td><b>RunDateTime</b></td><td><b>RunStatus</b></td><td><b>Duration</b></td><td><b>ItemInventoryCount</b></td></tr>";
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            MailBody += "<tr><td>" + Convert.ToString(i + 1) + "</td>";
            MailBody += "<td>" + dt.Rows[i]["ServerIP"] + "</td>";
            MailBody += "<td>" + dt.Rows[i]["ServerName"] + "</td>";
            MailBody += "<td>" + dt.Rows[i]["JobName"] + "</td>";
            MailBody += "<td>" + dt.Rows[i]["RunDateTime"] + "</td>";
            MailBody += "<td>" + dt.Rows[i]["RunStatus"] + "</td>";
            MailBody += "<td>" + dt.Rows[i]["Duration"] + "</td>";
            MailBody += "<td>" + dt.Rows[i]["ItemInventoryCount"] + "</td></tr>";
        }
        MailBody += "</table></body></html>";

        MailMessage message = new MailMessage();
        string fromEmail = "abc@domain.com";
        string fromPW = "pwd123";
        string toEmail = "abcdefgh@gmail.com";
        message.From = new MailAddress(fromEmail);
        message.To.Add(toEmail);
        message.Subject = "Test Mail";
        message.Body = MailBody;
        message.IsBodyHtml = true;
        message.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
        SmtpClient smtpClient = new SmtpClient("smtp4.domain.com", 1028);
        smtpClient.EnableSsl = false;
        smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
        smtpClient.UseDefaultCredentials = false;
        smtpClient.Credentials = new NetworkCredential(fromEmail, fromPW);
        smtpClient.Send(message.From.ToString(), message.To.ToString(), message.Subject, message.Body);
DataTable dt=会话[“dt”]作为DataTable;
string MailBody=“SNo.ServerIPServerNameJobNameRunDateTimeRunStatusDurationItemInventoryCount”;
对于(int i=0;i
您可能应该在表格标签前的某个位置放置一个
标签?是的。就像html文件一样。我像上面那样修改了代码,仍然没有得到表格格式。没有。我没有得到表格格式。像SNo.ServerIP一样,也包括在内。上面编辑了我的答案,但仍然没有得到想要的结果。有没有其他方法可以做到这一点?