最近,公司项目需要每月从数据库备份一些数据出成Excel文件,再将该文件通过电子邮件发送给客户。我把它做成了Windows服务,在服务里获取数据然后发送邮件,再通过Windows计划程序定时每月发送。
工具:Visual Studio 2013
创建Windows服务,
创建数据类DataHelper,和邮件类Mail,
DataHelper.cs 用于连接数据库,对数据库进行操作,
Mail.cs 定义邮件发送,
然后再server.cs直接应用即可,
至此服务已经写好了,接下来在servcie.cs设计页面鼠标右键添加安装程序,
添加后,可自行修改一些参数。
最后生成下服务就完成了Windows服务的创建,
成功后,在项目文件夹下,bin文件夹下的debug文件夹里即可看到生成的.exe,将.exe路径记下,
接下来就是安装服务,
以管理员的身份运行cmd,
先执行cd C:\\WINDOWS\\Microsoft.NET\\Framework\\v4.0.30319,(.net Framework4.0为cd C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727)回车
再执行InstallUtil.exe F:\\c#测试程序\\EmailService\\EmailService\\bin\\Debug\\EmailService.exe(就是上面你创建的服务.exe文件路径),回车,
安装服务成功。(卸载服务为 sc delete emailBackup)
打开服务查看安装的服务。
在任意文件夹下创建txt文件,输入
net start emailBackup(emailBackup刚创建的服务名称)
net stop emailBackup
保存,然后将.txt改为.bat,
打开Windows任务计划程序,创建任务,
配置好后确定,创建完成可以先运行下
邮箱可以收到发送的邮件,至此就完成了定时发送邮件服务。
参考地址:http://www.cnblogs.com/zhenhong/p/3298901.html