1:在项目中找到Global.asax该文件,
protected void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
AreaRegistration.RegisterAllAreas();
RouteConfig.RegisterRoutes(RouteTable.Routes);
//定时发送
System.Timers.Timer timer = new System.Timers.Timer(); //定时器 这个里面可以加时间比如(3000)-秒
timer.Elapsed += new System.Timers.ElapsedEventHandler(Send);
timer.AutoReset = false; //只执行一次
timer.Enabled = true;
}
2:通过Send事件 图片中模糊的地方就是数据库连接字符串。 代码有注释应该能看懂吧
private void Send(object sender, ElapsedEventArgs e)
{
//SqlConnection myconn2 = new SqlConnection("Data Source=;Initial Catalog=;User ID=;Password=");
//myconn2.Open();
//string sql2 = "select Status, count(*) as Total FROM AddFinanceInfo group by Status";
//SqlCommand mycmd2 = new SqlCommand(sql2, myconn2);
//SqlDataReader reader2 = mycmd2.ExecuteReader();
//List<string> record = new List<string>();
//while (reader2.Read())
//{
// string msg = "<td>" + reader2["Status"].ToString() + "</td><td>" + reader2["Total"].ToString() + "</td>";
// record.Add(msg);
//}
//myconn2.Close();
//if (DateTime.Now.Day == 25) //当前时间如果等19号 自动发送
//{
// string mailBody = getMailBody(record);
// SendEMail("信息统计推送", "" + mailBody + "");
//}
}
3:邮件发送设置
public void SendEMail(string Subject1, string Body1)
{
MailMessage msg = new MailMessage();
msg.From = new MailAddress("", ""); 这个里面填写邮箱服务器发送邮箱的地址
msg.To.Add(""); 这个收件人的邮箱地址可以填写很多人
msg.Subject = Subject1;
msg.Body = Body1;
msg.IsBodyHtml = true;
msg.Priority = MailPriority.High;//发送邮件的优先等级
SmtpClient c = new SmtpClient(""); 这个是邮箱服务器
c.Send(msg);
}
4:邮件展示加了一点样式
private string getMailBody(List<String> list)
{
StringBuilder result = new StringBuilder();
result.Append("<table><tr><th>客户</th><th>总数</th></tr>");
foreach (string aStr in list)
{
result.Append("<tr>").Append(aStr).Append("</tr>");
}
result.Append("</table>");
return result.ToString();
}