C# 在电子邮件列表中显示项目
我已经编写了一个匹配算法,无论出于何种原因,没有匹配的学生都存储在全局变量的列表中。我想把这个列表作为电子邮件发送给管理员。我需要帮助阅读列表中的项目并将其添加到电子邮件中 全局变量为:C# 在电子邮件列表中显示项目,c#,asp.net,email,C#,Asp.net,Email,我已经编写了一个匹配算法,无论出于何种原因,没有匹配的学生都存储在全局变量的列表中。我想把这个列表作为电子邮件发送给管理员。我需要帮助阅读列表中的项目并将其添加到电子邮件中 全局变量为: public static List<string> V_result_rest_student = new List<string>(); public static List<string> result_rest_student {
public static List<string> V_result_rest_student = new List<string>();
public static List<string> result_rest_student
{
get { return V_result_rest_student; }
set { V_result_rest_student = value; }
}
发送电子邮件的程序:
public void SendStatusEMail(List<string> list, User User, EmailType type)
{
MailAddress from = new MailAddress(config.mailSender, "Matching-Team");
MailAddress to = new MailAddress("matching@gmail.com");
MailMessage mail = new MailMessage(from, to);
mail.IsBodyHtml = true;
mail.Bcc.Add(from);
SmtpClient client = new SmtpClient();
client.Port = port;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
string header = string.Format(config.header);
string footer = config.footer;
if (list == null)
{
return;
}
string msg = "";
switch (type)
{
case EmailType.Unsorted_Student:
foreach (var item in list)
{
msg = item;
}
break;
case EmailType.Finished_List:
msg = config.Finished_List;
break;
default:
break;
}
msg = string.Format(msg);
mail.Subject = string.Format(config.mailSubject, "List of Unsorted Students");
mail.Body = header + msg + footer;
try
{
client.Send(mail);
}
catch (Exception ex)
{
Console.WriteLine("<Error> EMail Couldn't be sent.",
ex.ToString());
}
}
public void SendStatusEMail(列表、用户、EmailType)
{
MailAddress from=新邮件地址(config.mailssender,“匹配团队”);
MailAddress to=新邮件地址(“matching@gmail.com");
MailMessage mail=新的MailMessage(从,到);
mail.IsBodyHtml=true;
mail.Bcc.Add(发件人);
SmtpClient=新的SmtpClient();
client.Port=Port;
client.DeliveryMethod=SmtpDeliveryMethod.Network;
client.UseDefaultCredentials=false;
字符串头=string.Format(config.header);
string footer=config.footer;
if(list==null)
{
返回;
}
字符串msg=“”;
开关(类型)
{
案例EmailType.Unsorted_学生:
foreach(列表中的变量项)
{
msg=项目;
}
打破
案例EmailType.Finished\u列表:
msg=config.Finished\u列表;
打破
违约:
打破
}
msg=string.Format(msg);
mail.Subject=string.Format(config.mailSubject,“未排序学生列表”);
mail.Body=页眉+消息+页脚;
尝试
{
客户端。发送(邮件);
}
捕获(例外情况除外)
{
Console.WriteLine(“无法发送电子邮件。”,
例如ToString());
}
}
我需要未排序学生的用户ID以电子邮件形式发送给管理员。我正在使用C#(.Net framework)我认为您只需要添加一个变量,将列表转换为字符串。试试这个:
var result = String.Join("</BR>", General.result_rest_student);
var result=String.Join(“”,General.result\u rest\u student);
如果您希望所有内容都在一条线上,“
”可以替换为“,”。此时,您几乎无法获得学生的ID。如果名称是唯一的(不太合理),则可以查询数据库以从名称中获取ID。真正的解决方案是构建一个列表,而不是一个列表(或者至少是一个只存储名称和ID的新类的列表)。那么你有每个学生的身份证,你能用代码给我看一下吗?你是如何准备你实际使用的名单的?在这一点上,你需要准备一个不同类型的列表。请显示该代码。这是否应该在foreach循环中代替msg?您不应该这样做。try var result=String.Join(“”,General.result\u rest\u student);然后是消息的正文msg=result.ToString();
var result = String.Join("</BR>", General.result_rest_student);