.NET定时发送邮件
添加一个全局应用程序类Global.asax
代码会在访问网站时运行
Global.asax代码:
void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
System.Timers.Timer timer = new System.Timers.Timer();//设计时间间隔,如果一个小时执行一次就改为3600000
timer.Elapsed += new System.Timers.ElapsedEventHandler(Send);
timer.AutoReset = true;
timer.Enabled = true;
} void Application_End(object sender, EventArgs e)
{
// 在应用程序关闭时运行的代码
System.Threading.Thread.Sleep();
string strUrl = "服务器地址";
System.Net.HttpWebRequest _HttpWebRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(strUrl);
System.Net.HttpWebResponse _HttpWebResponse = (System.Net.HttpWebResponse)_HttpWebRequest.GetResponse();
System.IO.Stream _Stream = _HttpWebResponse.GetResponseStream();//得到回写的字节流
_HttpWebResponse.Close();
} void Application_Error(object sender, EventArgs e)
{
// 在出现未处理的错误时运行的代码 } void Session_Start(object sender, EventArgs e)
{
// 在新会话启动时运行的代码 } void Session_End(object sender, EventArgs e)
{
// 在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
// 或 SQLServer,则不引发该事件。 } private void Send(object sender, System.Timers.ElapsedEventArgs e)
{
switch (DateTime.Now.Hour)
{
case :
case :
SendEMail();
break;
//default:
// SendEMail();
// break;
}
}
private void SendEMail()
{
string mailFrom = System.Configuration.ConfigurationManager.AppSettings["MailFrom"].ToString();
string mailUser = System.Configuration.ConfigurationManager.AppSettings["MailUser"].ToString();
string mailPassword = System.Configuration.ConfigurationManager.AppSettings["MailPassword"].ToString();
string hostIP = System.Configuration.ConfigurationManager.AppSettings["MailHost"].ToString(); List<string> mailAddress = new List<string>();
string mailSubjct = "邮件主题";
string mailBody = "邮件内容:";
mailAddress.Add("邮件地址");string strReturn = sendMail(mailSubjct, mailBody, mailFrom, mailAddress, hostIP, mailUser, mailPassword, false);
}
sendMail方法
public static string sendMail(string mailSubjct, string mailBody, string mailFrom, List<string> mailAddress, string hostIP, string username, string password, bool ssl)
{
string str = "";
try
{
MailMessage message = new MailMessage
{
IsBodyHtml = true,
Subject = mailSubjct,
Body = mailBody, From = new MailAddress(mailFrom)
};
for (int i = ; i < mailAddress.Count; i++)
{
message.To.Add(mailAddress[i]);
}
SmtpClient client = new SmtpClient
{
EnableSsl = ssl,
UseDefaultCredentials = false
};
NetworkCredential credential = new NetworkCredential(username, password);
client.Credentials = credential;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.Host = hostIP;
client.Port = 0x19;
client.Send(message);
}
catch (Exception exception)
{
str = exception.Message;
}
return str;
}
.NET定时发送邮件的更多相关文章
- VBS实现定时发送邮件
原理:建立CDO.Message对象,设置好参数后直接Send就可以了 代码如下: NameSpace = "http://schemas.microsoft.com/cdo/configu ...
- python (18)在linux中如何实现定时发送邮件
最近要用到,定时发送邮件功能: 如何定时,当然要用到linux中crontab了 如下的代码能够定时发送邮件 #!/usr/bin/env python # -*- coding=utf-8 -*- ...
- spring利用javamail,quartz定时发送邮件 <转>
原文地址:spring利用javamail,quartz定时发送邮件 <转>作者:物是人非 spring提供的定时发送邮件功能,下面是一个简单的例子以供大家参考,首先从spring配置文件 ...
- java实现qq邮箱每天定时发送邮件
本周四的时候去学校的某机构值班,主要工作是帮老师送文件,干一些杂活.那天没有什么活儿,于是想起用Java实现发送邮件和接收邮件的功能.前几天接触过一点quartz框架,用来实现定时开始任务的功能.于是 ...
- odoo定时发送邮件
采购订单延迟或者存在部分到货的情况,定时发送邮件给相关人员 包含,采购订单明细,订单数量,已到货数量,未到货数量 <?xml version="1.0" encoding=& ...
- Android 发送邮件以及定时发送邮件的实现
本文以腾讯企业邮箱为例,展示如何发送邮件 及相关问题 选择腾讯企业邮箱是因为腾讯企业邮箱一般都是开启了smtp服务 项目地址:https://gitee.com/bimingcong/MySendE ...
- python3 通过qq邮箱定时发送邮件
下面的代码为了每天定时发送监控邮件,监控什么呢?监控当天redis队列中是否有没有消费的数据,和当天mysql中新增的数据量 # -*- coding:utf-8 -*- from common.re ...
- asp.net基于windows服务实现定时发送邮件的方法
本文实例讲述了asp.net基于windows服务实现定时发送邮件的方法.分享给大家供大家参考,具体如下: //定义组件 private System.Timers.Timer time; publi ...
- python (18)在linux中如何实现定时发送邮件到指定邮箱,监测任务
最近要用到,定时发送邮件功能: 如何定时,当然要用到linux中crontab了 如下的代码能够定时发送邮件 #!/usr/bin/env python # -*- coding=utf-8 -*- ...
- Java定时发送邮件
背景 甲方爸爸:新接入业务在国庆以及军运会期间需要每天巡检业务并发送邮件告知具体情况! 我司:没问题. 甲方爸爸:假期也要发噢. 我司:没问题(...). 刚开始计划指定几个同事轮流发送,业务只要不被 ...
随机推荐
- c语言输入一行未知个数数字存入数组
一直有个疑问输入一行数字存入数组时若不知道数字的个数怎么办,最容易想到的办法就是接收字符然后转化为数字,但这样太过麻烦. 今天上网查了下,说可以用ungetc()函数将字符送回输入流,在这里总结归纳一 ...
- iOS中定时器NSTimer的使用-备用
1.初始化 + (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelect ...
- 『安全工具』Nessus多功能扫描器
0x 00 前言 写这篇博客,证明我还活着…… 0x 01 安装Nessus 直接官网 www.tenable.com/products/nessus/select-your-operating- ...
- ural 1180 Stone Game
http://acm.timus.ru/problem.aspx?space=1&num=1180 #include <cstdio> #include <cstring&g ...
- Collections.shuffle源码阅读
java.util.Collections /** * Randomly permutes the specified list using a default source of * randomn ...
- Mysql 存储过程和函数区别
存储过程是procedure用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表. 存储 ...
- [置顶] 白话二分匹配之最大匹配+附上hdu2063解题报告
最近开始学习图论的二分匹配,关于最大匹配做一次小总结,希望自己后面回头来看一目明了,也对刚接触的人有帮助: ps:开始有的文字很多....对于很多人来说一看到文字就烦啦...不过这个总结是针对匈牙利算 ...
- paip.输入法编程---增加码表类型
paip.输入法编程---增加码表类型 作者Attilax , EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net/attil ...
- Oracle_Q&A_02
Step02: Import SQL FILE Step02: QUESTION & ANSWER --1查询员工姓名和职位字数相等的员工 --2查询e_name以s结尾的员工(不用like) ...
- HDU 1874-畅通project续(最短路Dijkstra+优先队列)
畅通project续 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...