一、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)