技术开发 频道

邮件定时发送功能


【IT168技术文档】

  建立两个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 dirfox1477@gmail.com 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>
0
相关文章