邮件接口的三种发送方式 一、sql触发器发送
二、winform程序后用任务计划发送
页面
//引用 using System.Data.Common; using System.Data.SqlClient; using System.Configuration; using System.Data; using System.Net.Mail;
//要发送的邮件 public static DataSet SendEmailList() { DataSet ds = new DataSet(); try { string str = ConfigurationSettings.AppSettings[“ConnectionString”]; SqlConnection conn = new SqlConnection(str); conn.Open(); SqlCommand comm = new SqlCommand(“SendEmailList”, conn); comm.CommandType = CommandType.StoredProcedure; comm.ExecuteNonQuery(); SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = comm; da.Fill(ds); conn.Close();
} catch (Exception ex) { } return ds; } public static bool SendMail(string form, string toMail, string title, string body, string SendEmailID) { bool result = false;
try { MailMessage email = new MailMessage(); email.From = new MailAddress(form); //收件人 email.To.Add(toMail); //主题 email.Subject = title; //内容 email.Body = body; //优先级 email.Priority = MailPriority.Normal; //内容类型 email.IsBodyHtml = true; SmtpClient client = new SmtpClient(); client.Send(email); //再把状态改一下 string str = ConfigurationSettings.AppSettings[“ConnectionString”].ToString(); SqlConnection conn = new SqlConnection(str); conn.Open(); SqlCommand comm = new SqlCommand(“SendEmailDelete”, conn); //参数SendEmailID comm.CommandType = CommandType.StoredProcedure; comm.Parameters.Add(new SqlParameter("@SendEmailID", SqlDbType.NVarChar, 50)); comm.Parameters["@SendEmailID"].Value = SendEmailID.ToString();
comm.ExecuteNonQuery();
result = true; } catch (Exception ex) { result = false; }
return result; }
webconfig页面配置
配置程序
开始----程序----附件—系统工具—任务计划,双击添加任务,选择程序文件-----(程序生成的*.exe),管理员输入密码为登录密码,一直点下一步就行了 三、global
缺点,有人访问页面时,global才会运行
webconfig页面配置
global页面
void Application_Start(object sender, EventArgs e) { // 在应用程序启动时运行的代码 Timer t = new Timer(60000);//设计时间间隔,如果一个小时执行一次就改为3600000 ,这里一分钟调用一次 t.Elapsed += new ElapsedEventHandler(t_Elapsed); t.AutoReset = true; t.Enabled = true;
} private void t_Elapsed(object sender, ElapsedEventArgs e) { Response.Write(“执行成功”); //查询数据库 DataSet ds = Common.SendEmailList(); string FormEmail = ConfigurationManager.AppSettings[“UserEmail”]; string title = “会员申请网上注册失败”;
for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { string ToEmail = ds.Tables[0].Rows[i][“EmailAddress”].ToString(); string body = “你的网上注册失败,错误原因:”; body += ds.Tables[0].Rows[i][“Cause”].ToString() + “ ”; body += “请查看资料修正”; string SendEmailID = ds.Tables[0].Rows[i][“SendEmailID”].ToString(); Common.SendMail(FormEmail, ToEmail, title, body, SendEmailID); } }
winform页面
//引用 using System.Data.Common; using System.Data.SqlClient; using System.Configuration; using System.Data; using System.Net.Mail;
//要发送的邮件 public static DataSet SendEmailList() { DataSet ds = new DataSet(); try {
string str = ConfigurationManager.ConnectionStrings[“ConnectionString”].ConnectionString; SqlConnection conn = new SqlConnection(str); conn.Open(); SqlCommand comm = new SqlCommand(“SendEmailList”, conn); comm.CommandType = CommandType.StoredProcedure; comm.ExecuteNonQuery(); SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = comm; da.Fill(ds); conn.Close(); } catch (Exception ex) { } return ds; } public static bool SendMail(string form, string toMail, string title, string body,string SendEmailID) { bool result = false;
try { MailMessage email = new MailMessage(); email.From = new MailAddress(form); //收件人 email.To.Add(toMail); //主题 email.Subject = title; //内容 email.Body = body; //优先级 email.Priority = MailPriority.Normal; //内容类型 email.IsBodyHtml = true; SmtpClient client = new SmtpClient(); client.Send(email); //再把状态改一下 string str = ConfigurationManager.ConnectionStrings[“ConnectionString”].ConnectionString; SqlConnection conn = new SqlConnection(str); conn.Open(); SqlCommand comm = new SqlCommand(“SendEmailDelete”, conn); //参数SendEmailID comm.CommandType = CommandType.StoredProcedure; comm.Parameters.Add(new SqlParameter("@SendEmailID", SqlDbType.NVarChar, 50)); comm.Parameters["@SendEmailID"].Value = SendEmailID.ToString();
comm.ExecuteNonQuery();
result = true; } catch (Exception ex) { result = false; }
return result; } 详细更多请关注Kewail官网:(www.kewail.com)