ASP.NET关于定时通过邮件推送统计信息解决方案
  N4bG8qiTuUl0 2023年11月02日 44 0

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();

        }



【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

N4bG8qiTuUl0