邮件定时发送功能(绝对的粗糙)

建立两个xml文档 取名为(email.xml->保存邮件内容;user.xml->保存邮件地址)
email.xml
1 <? xml version="1.0" encoding="utf-8" ?>
2 < Emails >
3    < Email >
4      < ID > 1 </ ID >
5      < Header > 测试邮件 </ Header >
6      < Content > 此邮件为测试邮件,若发送失败还请谅解 谢谢 </ Content >
7    </ Email >
8 </ Emails >

user.xml
1 <? xml version="1.0" encoding="utf-8" ?>
2 < Users >
3    < User >
4     [email protected]
5    </ User >
6 </ Users >

global.asax
 1 <% @ Application Language = " C# "   %>
 2 <% @ Import Namespace = " System.Data "   %>
 3 <% @ Import Namespace = " System.Data.SqlClient "   %>
 4 <% @ Import Namespace = " System.Xml "   %>
 5 <% @ Import Namespace = " System.Web "   %>
 6 <% @ Import Namespace = " System.Net "   %>
 7
 8 < script runat = " server " >
 9
10      private   string  email  =  HttpContext.Current.Server.MapPath( " email.xml " );
11      private   string  user  =  HttpContext.Current.Server.MapPath( " user.xml " );
12      void  Application_Start( object  sender, EventArgs e) 
13      {
14        Application["sendemail"= true;
15        // 應用程式啟動時執行的程式碼
16        System.Timers.Timer timer = new System.Timers.Timer();
17        timer.Interval = 1000*60*5;//5分钟发送一次
18        timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed);
19        timer.Enabled = (Boolean)Application["sendemail"];
20    }

21
22      void  timer_Elapsed( object  sender, System.Timers.ElapsedEventArgs e)
23      {
24        string _title = string.Empty, _content = string.Empty;
25        System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();
26        XmlDocument doc = new XmlDocument();
27        doc.Load(email);
28        XmlNode node = doc.SelectSingleNode("//Emails/Email[ID='1']");
29        _title = node["Header"].InnerText;
30        _content = node["Content"].InnerText;
31        doc.Load(user);
32        DataSet ds1 = new DataSet();
33        reader = new System.IO.StringReader(doc.SelectSingleNode("//Users").OuterXml);
34        ds1.ReadXml(reader);
35        reader.Close();
36        foreach (DataRow row in ds1.Tables[0].Rows)
37        {
38            message.CC.Add(Convert.ToString(Convert.ToString(row[0]).Replace("\r\n","")));
39        }

40        ds1.Dispose();
41        message.Subject = _title;
42        message.Body = _content;
43        message.SubjectEncoding=Encoding.GetEncoding("gb2312");
44        message.BodyEncoding = Encoding.Default;
45        System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient();
46        client.Host = "smtp.xx.com";
47        client.Credentials = new NetworkCredential("username""password");
48        client.Send(message);
49        message.Dispose();
50    }

51        
52 </ script >
53

你可能感兴趣的:(邮件)