一般邮件定时发送是使用Winform来实现比较简单,但在 ASP.NET中也可以使用计时器(Timer)完成一些定时动作。做一个winform 来定时发邮件。然后通过windows计划任务,设置为指定时间,每次自动运行,运行完毕后自动关闭。而Asp.net中也使用Timer 设定间隔多长时间执行发送事件
protected void Application_Start(Object sender, EventArgs e)
{
Timer t = new Timer(60000);//设计时间间隔,如果一个小时执行一次就改为3600000 ,这里一分钟调用一次
t.Elapsed = new ElapsedEventHandler(t_Elapsed); //间隔一分钟后执行t_Elapsed事件
t.AutoReset = true;
t.Enabled = true;
}
private void t_Elapsed(object sender, ElapsedEventArgs e)
{
if (GetEmailContent.GetMailContent().Length == 0) //判断邮件内容是否为空,为空返回不发送,或者如果数据库中设置了发送时间,那么就判断发送的时间是否大于当前时间,大于的话就是还没有到时间,就不用发送
{
return;//则返回不发送邮件
}
int sendTime_Hour = Convert.ToInt32(ConfigurationManager.AppSettings["SendTime"].ToString());// 可以自己设置发送时间
int now_Hour = Convert.ToInt32(DateTime.Now.Hour.ToString());
int now_Minute = Convert.ToInt32(DateTime.Now.Minute.ToString());
int absolute = 1;//差距值,单位为分钟
if (((now_Hour == sendTime_Hour - 1) && (now_Minute >= 60 - absolute)) || ((now_Hour == sendTime_Hour) && (now_Minute <= absolute))) //即在如果时间判断在发送时间之间,那么就会调用下面的邮件发送方法
{
string subject = string.Format("CO Approve Report({0})", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
string host = ConfigurationManager.AppSettings["MailHost"]; //设置发送的邮件配置和发送内容
string from = ConfigurationManager.AppSettings["MailFrom"];
string to = ConfigurationManager.AppSettings["MailTo"];
string user = ConfigurationManager.AppSettings["MailUser"];
string password = ConfigurationManager.AppSettings["MailPassword"];
string content = GetEmailContent.GetMailContent();
try
{
OrderMail.Send(host, user, password, to, from, subject, content, null);//发送邮件的方法,改为你自己的邮件发送方法
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
}
16
2012
04
Asp.Net 如何定时发送邮件
发布:郑德才博客 | 分类:知道理解 | 评论:3 | 浏览:
相关文章:
C#、Asp.Net 对比两个实体信息前后是否有所改变(结构相同和不相同) (2016-9-2 20:24:29)
C#、Asp.Net 将一个实体对象转换为另一个实体对象(结构可以不一样) (2016-9-2 19:14:5)
Asp.Net 常用时间计算 (2016-3-16 23:29:20)
【C#、Asp.Net 工具类大全】图片通用操作类 (2015-12-23 13:27:30)
【C#、Asp.Net 工具类大全】Request请求工具类 (2015-12-23 13:15:56)
【C#、Asp.Net 工具类大全】弹出提示操作类 (2015-12-23 13:6:1)
【C#、Asp.Net 工具类大全】正则匹配工具类 (2015-7-26 9:36:56)
【C#、Asp.Net 工具类大全】Js常用操作类 (2015-7-15 14:23:33)
【C#、Asp.Net 工具类大全】Html常用帮助类 (2015-7-11 23:42:53)
【C#、Asp.Net 工具类大全】压缩文本、字节或者文件的压缩辅助类 (2015-7-11 23:23:49)
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
评论列表: