.NET定时发送邮件

添加一个全局应用程序类Global.asax

代码会在访问网站时运行

Global.asax代码:

 1     void Application_Start(object sender, EventArgs e)
 2     {
 3         // 在应用程序启动时运行的代码
 4         System.Timers.Timer timer = new System.Timers.Timer(3600000);//设计时间间隔,如果一个小时执行一次就改为3600000
 5         timer.Elapsed += new System.Timers.ElapsedEventHandler(Send);
 6         timer.AutoReset = true;
 7         timer.Enabled = true;
 8     }
 9
10     void Application_End(object sender, EventArgs e)
11     {
12         //  在应用程序关闭时运行的代码
13         System.Threading.Thread.Sleep(5000);
14         string strUrl = "服务器地址";
15         System.Net.HttpWebRequest _HttpWebRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(strUrl);
16         System.Net.HttpWebResponse _HttpWebResponse = (System.Net.HttpWebResponse)_HttpWebRequest.GetResponse();
17         System.IO.Stream _Stream = _HttpWebResponse.GetResponseStream();//得到回写的字节流
18         _HttpWebResponse.Close();
19     }
20
21     void Application_Error(object sender, EventArgs e)
22     {
23         // 在出现未处理的错误时运行的代码
24
25     }
26
27     void Session_Start(object sender, EventArgs e)
28     {
29         // 在新会话启动时运行的代码
30
31     }
32
33     void Session_End(object sender, EventArgs e)
34     {
35         // 在会话结束时运行的代码。
36         // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
37         // InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
38         // 或 SQLServer,则不引发该事件。
39
40     }
41
42     private void Send(object sender, System.Timers.ElapsedEventArgs e)
43     {
44         switch (DateTime.Now.Hour)
45         {
46             case 0:
47             case 24:
48                 SendEMail();
49                 break;
50             //default:
51             //    SendEMail();
52             //    break;
53         }
54     }
55     private void SendEMail()
56     {
57         string mailFrom = System.Configuration.ConfigurationManager.AppSettings["MailFrom"].ToString();
58         string mailUser = System.Configuration.ConfigurationManager.AppSettings["MailUser"].ToString();
59         string mailPassword = System.Configuration.ConfigurationManager.AppSettings["MailPassword"].ToString();
60         string hostIP = System.Configuration.ConfigurationManager.AppSettings["MailHost"].ToString();
61
62         List<string> mailAddress = new List<string>();
63         string mailSubjct = "邮件主题";               string mailBody = "邮件内容:";           mailAddress.Add("邮件地址");string strReturn = sendMail(mailSubjct, mailBody, mailFrom, mailAddress, hostIP, mailUser, mailPassword, false);
64     }
sendMail方法
 1 public static string sendMail(string mailSubjct, string mailBody, string mailFrom, List<string> mailAddress, string hostIP, string username, string password, bool ssl)
 2         {
 3             string str = "";
 4             try
 5             {
 6                 MailMessage message = new MailMessage
 7                 {
 8                     IsBodyHtml = true,
 9                     Subject = mailSubjct,
10                     Body = mailBody,
11
12                     From = new MailAddress(mailFrom)
13                 };
14                 for (int i = 0; i < mailAddress.Count; i++)
15                 {
16                     message.To.Add(mailAddress[i]);
17                 }
18                 SmtpClient client = new SmtpClient
19                 {
20                     EnableSsl = ssl,
21                     UseDefaultCredentials = false
22                 };
23                 NetworkCredential credential = new NetworkCredential(username, password);
24                 client.Credentials = credential;
25                 client.DeliveryMethod = SmtpDeliveryMethod.Network;
26                 client.Host = hostIP;
27                 client.Port = 0x19;
28                 client.Send(message);
29             }
30             catch (Exception exception)
31             {
32                 str = exception.Message;
33             }
34             return str;
35         }
时间: 2024-10-05 05:04:55

.NET定时发送邮件的相关文章

Spring整合Quartz定时发送邮件

功能描述:刚开始接触Quartz,试着用Quartz整合spring实现每隔一分钟发送一封邮件连续发送10次 核心jar: 邮件发送:commons-email-1.2.jar mail.jar(必须的) quartz:quartz-all-1.8.3.jar quartz-all-1.8.3/lib/下所有jar spring:spring-context-support.ajr(必须的) 只贴出核心代码: Email发送:使用apache commons-email跟mail package

python (18)在linux中如何实现定时发送邮件

最近要用到,定时发送邮件功能: 如何定时,当然要用到linux中crontab了 目前代码只能发邮件,能发送附件的还在学习中,稍后补上 1 #!/usr/bin/env python 2 3 import smtplib 4 from email.mime.text import MIMEText 5 import threading 6 import time, datetime 7 8 mailto_list=[""] #里面是对方的邮箱 9 #-----------QQ邮箱发送设

java实现qq邮箱每天定时发送邮件

本周四的时候去学校的某机构值班,主要工作是帮老师送文件,干一些杂活.那天没有什么活儿,于是想起用Java实现发送邮件和接收邮件的功能.前几天接触过一点quartz框架,用来实现定时开始任务的功能.于是,这里把他们结合起来了,实现定时发送邮件,向暗恋的女神表白的用处(yiyin). 我没有研究过quartz框架,这里主要是从实用的角度讲一下.在使用时,需要编写任务类和触发器类两部分的代码.任务类是你想实现的功能部分,需要实现Job接口.触发器类设置任务的定时执行时间. 在java实现email中,

VBS实现定时发送邮件

原理:建立CDO.Message对象,设置好参数后直接Send就可以了 代码如下: NameSpace = "http://schemas.microsoft.com/cdo/configuration/" Set Email = CreateObject("CDO.Message") Email.From = "你的Email地址" Email.To = "接收方的Email地址" Email.Subject = "

Android 发送邮件以及定时发送邮件的实现

本文以腾讯企业邮箱为例,展示如何发送邮件 及相关问题  选择腾讯企业邮箱是因为腾讯企业邮箱一般都是开启了smtp服务 项目地址:https://gitee.com/bimingcong/MySendEmail 具体的smtp服务开启方式如下: 设置---->客户端设置---->记住红色框内的发送服务器地址smtp.exmail.qq.com 以及要用到的SSL端口号465 首先用android系统发送邮件的话  需要用到针对android的邮件发送包 在此我们可以在Gradle 里边加入所需的

在采集程序中增加定时发送邮件以及关机处理的实现

我们在采集特定数据的时候,往往需要耗费较长的时间,有时候因为一些事情,不可能长久的在电脑前等待结果,那么需要程序在一段时间后自动给我们发送邮件等通知,以及执行退出程序或者关机等处理善后工作,以节省资源或者电源,那么需要实现这个过程是如何的呢.本篇随笔基于这个采集程序的基础上增加这些功能的实现,介绍其中的一些处理技巧. 1.邮件配置 如果我们需要实现发送邮件.或者发送短信等通知途径,那么我们就需要把这些处理过程涉及到的参数提前录入到系统里面,是在不行硬编码也行,不过为了可扩展性,我倾向于使用配置界

Infomatica自动监控定时发送邮件需求

一.需求 对Infomatica中全部Workflow进行监控,对CIF和SCV任何表进行监控. 二.完成情况 到2015年7月29日,基本功能已经可以实现. 在130机器上通过crontab定时调度来实现每天定时监控状态并发送邮件. 三.功能说明 在/home/infor/...../bin/sh 目录下创建一个shell脚本,包括以下流程 1.访问SCV数据库,将etl_date_status的结果生成csv文件. 2.访问Informatica数据库,将监控CDC的结果生成CSV文件. 3

定时发送邮件

工作中有时需要定时执行某些操作(比如发邮件),我们一般有下面4种方法 1.C#自带Timer定时控件 操作流程:进入项目的Global.asax.cs文件的Application_Start函数,添加SendEmail功能即可. 评价:IIS 7应用程序池自动回收,这样就需要有人访问站点才能再次执行定时任务.虽然也有其它补救办法,但是不优雅,放弃. 2.Windows 计划任务+Web Service 操作流程:1.单独写一个WebService发邮件程序,生成exe. 2.创建一个Window

基于Quartz实现简单的定时发送邮件

一.什么是Quartz Quartz 是一个轻量级任务调度框架,只需要做些简单的配置就可以使用:它可以支持持久化的任务存储,即使是任务中断或服务重启后,仍可以继续运行.Quartz既可以做为独立的应用提供服务,也可以和其他应用集成一起使用. 核心概念: 1.Job 表示一个工作,要执行的具体内容.此接口中只有一个方法 void execute(JobExecutionContext context) 2.JobDetail JobDetail表示一个具体的可执行的调度程序,Job是这个可执行程调

数据库指定库表中的字段进行备份,并以表格的形式定时发送邮件到指定邮箱 ?

备份数据进行定时邮件发送 mkdir -p /opt/module/shell/ mkdir -p /opt/module/shell/sql/revenue.sql mkdir -p /opt/module/shell/csv/revenue #MailTool.jar 放在指定目录下 便于发送邮件使用 可自动生成表格 vim /opt/module/shell/daily_text.sh # !/bin/bash #数据库指定库.表中的字段进行备份,并以表格的形式发送邮件到指定邮箱 #定义变