C# windows定时服务+服务邮箱发送


 protected override void OnStart(string[] args)
        {

             Timer timer1 = new Timer();


            timer1 = new System.Timers.Timer();
            // timer1 = new System.Timers.Timer(24 * 60 * 60 * 1000);
            timer1.Interval = 3000;  //设置计时器事件间隔执行时间
            timer1.Elapsed += new System.Timers.ElapsedEventHandler(timer1_Elapsed);
            timer1.Enabled = true;
            SendMail(GetType().Name, "服务开始");
            File.AppendAllText("D:" + this.GetType().Name + ".txt", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss 服务启动") + timer1.Enabled);
        }

 protected override void OnStop()
        {
            this.timer1.Enabled = false;
            SendMail(GetType().Name, "服务停止");
            File.AppendAllText("D:" + this.GetType().Name + ".txt", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss 服务停止") + timer1.Enabled);
        }
  private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
//定时服务执行的方法

}
public static void SendMail(string title,string conn)
        {
            //发送的邮箱地址
            var emailAcount = "";
            //发送的邮箱密码
            var emailPassword = "";
            //发送给谁
            var to = "";
            //发送内容
            var content =conn;
            //邮件标题
            var mailtitle =conn;
            //邮件服务器
            var mailservice ="";  //下文有邮箱服务器地址
            //创建邮件发送实例
            MailMessage message = new MailMessage();
            //设置发件人,发件人需要与设置的邮件发送服务器的邮箱一致
            MailAddress fromAddr = new MailAddress(emailAcount);
            message.From = fromAddr;
            //设置收件人,可添加多个,添加方法与下面的一样
            message.To.Add(to);
            //设置邮件标题
            message.Subject = mailtitle;
            //设置邮件内容
            message.Body = content;
            //设置邮件发送服务器,服务器根据你使用的邮箱而不同,可以到相应的 邮箱管理后台查看,下面是QQ的
            SmtpClient client = new SmtpClient(mailservice, 25);
            //设置发送人的邮箱账号和密码
            client.Credentials = new NetworkCredential(emailAcount, emailPassword);
            //启用ssl,也就是安全发送
            client.EnableSsl = true;
            //发送邮件
            client.Send(message);
        }

阿里服务邮箱:SMTP smtp.mxhichina.com  port  25 465

QQ邮箱:smtp.qq.com    port 587

服务安装方法(管理员身份运行cmd):

cd  定位 

cd C:\Windows\Microsoft.NET\Framework\v4.0.30319   定位到 InstallUtil文件的位置  (大部分电脑都在这里)

创建  输入 InstallUtil.exe+地址
开始   sc start 
停止   sc stop
删除   sc delete  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
你可以使用C#编写一个Windows服务定时执行任务。下面是一个简单的示例: 首先,创建一个新的C#项目,并选择“Windows服务”模板。 然后,在你的服务类中,你可以使用`System.Timers.Timer`类来执行定时任务。在服务的`OnStart`方法中初始化定时器,并设置间隔时间和要执行的方法。在`OnStop`方法中停止定时器。 这是一个基本的示例代码: ```csharp using System; using System.ServiceProcess; using System.Timers; namespace YourNamespace { public partial class YourService : ServiceBase { private Timer timer; public YourService() { InitializeComponent(); } protected override void OnStart(string[] args) { timer = new Timer(); timer.Interval = 60000; // 1 minute in milliseconds timer.Elapsed += TimerElapsed; timer.Start(); } protected override void OnStop() { timer.Stop(); timer.Dispose(); } private void TimerElapsed(object sender, ElapsedEventArgs e) { // 执行你的定时任务 } } } ``` 请注意,上面的代码将每隔1分钟执行一次`TimerElapsed`方法。你可以根据需要更改间隔时间。 一旦你完成了代码编写,你可以将你的项目编译为一个可执行文件,然后使用`installutil`命令行工具来安装和启动服务。例如,打开命令提示符,导航到你的可执行文件所在的文件夹,并运行以下命令: ``` installutil YourService.exe ``` 这将安装你的服务,并可以使用服务管理器启动、停止和管理它。 希望这可以帮助到你开始编写一个定时执行的Windows服务!如有任何问题,欢迎继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_40883328

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值