AI智能
改变未来

c# 定时windows服务发送邮件

最近,公司项目需要每月从数据库备份一些数据出成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

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » c# 定时windows服务发送邮件