定时发送邮件
工作中有时需要定时执行某些操作(比如发邮件),我们一般有下面4种方法
1.C#自带Timer定时控件
操作流程:进入项目的Global.asax.cs文件的Application_Start函数,添加SendEmail功能即可。
评价:IIS 7应用程序池自动回收,这样就需要有人访问站点才能再次执行定时任务。虽然也有其它补救办法,但是不优雅,放弃。
2.Windows 计划任务+Web Service
操作流程:1.单独写一个WebService发邮件程序,生成exe。
2.创建一个Windows计划任务定期调用改exe。
3.SQL Server Agent Mail
操作流程:1.SQL Server—管理—数据库邮件,根据自己邮件服务器参数配置(端口除外,端口固定为25)完保存。
2.在SQL Server 系统数据库msdb里面新建一个发送邮件的存储过程,记住@profile_name = 'EmailTest', EmailTest即上一步中配置名。
3.在SQL Server中建立一个job定时调用该存储过程。
三种方法都测试成功,推荐方法3.