C# 发送列表<&燃气轮机;邮件中包含正文的值-SMTP服务器

C# 发送列表<&燃气轮机;邮件中包含正文的值-SMTP服务器,c#,.net,string,list,smtp,C#,.net,String,List,Smtp,我必须通过SMTP服务器发送邮件。我可以用单个值发送它。但是,我想以表格格式或其他一些结构将列表值作为消息体发送。我的代码包括: MailMessage mailObj = new MailMessage("abc@gmail.com", "xyz@gmail.com", "Reg : send mail", "Emp Name :" + "Emp1" + Environment.NewLine + "Date From : " + Mon + "Date To : " + Fri);

我必须通过
SMTP
服务器发送邮件。我可以用单个值发送它。但是,我想以表格格式或其他一些结构将
列表
值作为消息体发送。我的代码包括:

MailMessage mailObj = new MailMessage("abc@gmail.com", "xyz@gmail.com", "Reg : send mail",
"Emp Name :" + "Emp1" + Environment.NewLine + "Date From :   " + Mon + "Date To :   " + Fri);
SmtpClient SMTPServer = new SmtpClient("smtp.gmail.com", ***);
SMTPServer.Host = "smtp.gmail.com";
SMTPServer.EnableSsl = true;
SMTPServer.Timeout = 200000;
SMTPServer.Credentials = new System.Net.NetworkCredential("asd@gmail.com", "******");
SMTPServer.Send(mailObj);
List<TimesheetValues> Msg = new List<TimesheetValues>(); string strMsg = ""; int n=1;
            foreach(var item in mailBody)
            {
                strMsg = strMsg + "<table><tr><td>" + n + "</td><td>" + item.Project_Name + "</td><td>" + item.Task_Name + "</td><td>" + item.Notes + "</td><td>" + item.Hrs_Worked + "</td></tr></table>";                
                n++;
            }
            strMsg = strMsg + "</br>";
             MailMessage mailObj = new MailMessage("abc123@gmail.com", "xyz123@gmail.com", "Reg : Timesheet",
                "Emp Name :" + "Emp1" + Environment.NewLine + "Date From :   " + Mon + "Date To :   " + Fri);            

             mailObj.Body = "Emp Name : " + "Emp1" + Environment.NewLine + "Date From :   " + Date2 + " Date To :   " + Date6 + Environment.NewLine + strMsg;
我的价值清单如下:

List<TimesheetValues> mailBody = new SampleDAO().GetDataForMail(dt1, satDate);
List mailBody=new SampleDAO().GetDataForMail(dt1,satDate);
如何将此
列表
值包含在body和send中

我尝试以下几点:

MailMessage mailObj = new MailMessage("abc@gmail.com", "xyz@gmail.com", "Reg : send mail",
"Emp Name :" + "Emp1" + Environment.NewLine + "Date From :   " + Mon + "Date To :   " + Fri);
SmtpClient SMTPServer = new SmtpClient("smtp.gmail.com", ***);
SMTPServer.Host = "smtp.gmail.com";
SMTPServer.EnableSsl = true;
SMTPServer.Timeout = 200000;
SMTPServer.Credentials = new System.Net.NetworkCredential("asd@gmail.com", "******");
SMTPServer.Send(mailObj);
List<TimesheetValues> Msg = new List<TimesheetValues>(); string strMsg = ""; int n=1;
            foreach(var item in mailBody)
            {
                strMsg = strMsg + "<table><tr><td>" + n + "</td><td>" + item.Project_Name + "</td><td>" + item.Task_Name + "</td><td>" + item.Notes + "</td><td>" + item.Hrs_Worked + "</td></tr></table>";                
                n++;
            }
            strMsg = strMsg + "</br>";
             MailMessage mailObj = new MailMessage("abc123@gmail.com", "xyz123@gmail.com", "Reg : Timesheet",
                "Emp Name :" + "Emp1" + Environment.NewLine + "Date From :   " + Mon + "Date To :   " + Fri);            

             mailObj.Body = "Emp Name : " + "Emp1" + Environment.NewLine + "Date From :   " + Date2 + " Date To :   " + Date6 + Environment.NewLine + strMsg;
List Msg=new List();字符串strMsg=“”;int n=1;
foreach(邮件正文中的var项)
{
strMsg=strMsg+“”+n+“”+item.Project\u Name+“”+item.Task\u Name+“”+item.Notes+“”+item.Hrs\u Worked+“”;
n++;
}
strMsg=strMsg+“
”; MailMessage mailObj=新的MailMessage(“abc123@gmail.com", "xyz123@gmail.com“,”注册表:时间表“, “Emp名称:”+“Emp1”+Environment.NewLine+”日期从:“+Mon+”日期到:“+Fri”); mailObj.Body=“Emp Name:”+“Emp1”+Environment.NewLine+“日期从:”+Date2+“日期到:”+Date6+Environment.NewLine+strMsg;
现在我得到了所有的记录,但我有tr-td标记,带有in记录,并且没有显示为表。我怎样才能做到这一点

有人能帮助克服这个问题吗。。
提前感谢…

如果您想再次将字符串读入列表,序列化更好

using Newtonsoft.Json;
var json = JsonConvert.SerializeObject(yourList);
mailObj.Body = json;
您还可以在另一端反序列化:

List<string> g = JsonConvert.DeserializeObject<List<string>>(body);
List g=JsonConvert.DeserializeObject(body);

我尝试以下方法:

string strMsg = ""
 strMsg = timsheetMail + " <table style=\"border-collapse:collapse; text-align:center;\" border=\"1\"><tr><td> Date </td><td> Working Hours </td><td> Task </td><td>Comments</td></tr>";    

List<TimesheetValues> Msg = new List<TimesheetValues>(); int n=1;
            foreach(var item in mailBody)
            {
 timesheetData = new TimesheetDetailModel();
                timesheetData.Task_Id = matrix.Task_Id;
                timesheetData.Hours = matrix.Hours;
                //timesheetData.Date = matrix.Date.Date;
                timesheetData.Date = matrix.Date.AddDays(1);
                timesheetData.EmpId = Convert.ToInt32(Session["EmpId"].ToString());
                timesheetData.Notes = matrix.Notes;

                strMsg = strMsg+ " <tr><td> " + timesheetData.Date.ToString("dd/MM/yyyy") + "</td><td>" + timesheetData.Hours + "</td><td>" + task + "</td><td>" + timesheetData.Notes +  "</td></tr>";                
                n++;
            }
            strMsg = strMsg + "</table>";
string strMsg=“”
strMsg=timsheetMail+“日期工作时间任务注释”;
List Msg=新列表();int n=1;
foreach(邮件正文中的var项)
{
timesheetData=新的TimesheetDetailModel();
timesheetData.Task\u Id=matrix.Task\u Id;
timesheetData.Hours=矩阵.Hours;
//timesheetData.Date=matrix.Date.Date;
timesheetData.Date=matrix.Date.AddDays(1);
timesheetData.EmpId=Convert.ToInt32(会话[“EmpId”].ToString());
timesheetData.Notes=矩阵.Notes;
strMsg=strMsg+“”+timesheetData.Date.ToString(“dd/MM/yyyyy”)+“”+timesheetData.Hours+“”+task+“”+timesheetData.Notes+“”;
n++;
}
strMsg=strMsg+“”;
3.现在很好用