问题:ASP.net中每隔一定时间查询数据库表,并根据表里面的条件发送邮件要怎么实现啊?!
要求不影响其他人继续使用网页。
解答:
在SQL server里面建一个作业,定义运行某个(你写的查询)程序。
在sql server中定义一个job
定时运行 下面的存储过程
CREATE PROCEDURE sys_sendmail
@From varchar(100),--发件人
@To varchar(100),--收件人
@Bcc varchar(500),--抄送人
@Subject varchar(400),--主题
@Body varchar(4000),--内容
@stmp_server nvarchar(4000),--发送邮件服务器
@email_user nvarchar(4000),--发送邮件服务器登录用户名
@email_pass nvarchar(4000) --发送邮件服务器登录用户密码
as
Declare @object int
Declare @hr int
EXEC @hr = sp_OACreate 'CDO.Message', @object OUT
EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("
http://schemas.microsoft.com/cdo/configuration/sendusing").Value','2' EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("
http://schemas.microsoft.com/cdo/configuration/smtpserver").Value', @stmp_server
--下面三条语句是smtp验证,如果服务器需要验证,则必须要这三句,你需要修改用户名和密码
EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("
http://schemas.microsoft.com/cdo/configuration/smtpauthenticate").Value','1' EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("
http://schemas.microsoft.com/cdo/configuration/sendusername").Value',@email_user EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("
http://schemas.microsoft.com/cdo/configuration/sendpassword").Value',@email_passEXEC @hr = sp_OAMethod @object, 'Configuration.Fields.Update', null
EXEC @hr = sp_OASetProperty @object, 'To', @To
EXEC @hr = sp_OASetProperty @object, 'Bcc', @Bcc
EXEC @hr = sp_OASetProperty @object, 'From', @From
EXEC @hr = sp_OASetProperty @object, 'Subject', @Subject
EXEC @hr = sp_OASetProperty @object, 'TextBody', @Body
EXEC @hr = sp_OAMethod @object, 'Send', NULL
--判断出错
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN @object
END
PRINT 'success'
EXEC @hr = sp_OADestroy @object
GO
自己做个静态类,内部封装一个timer,公开一个用于激活timer的方法,在timer的elapsed事件做查询和发送邮件 。最后在global start的时候调一下那个启动timer的方法就行。
可以通过web service来实现,
http://ttyp.cnblogs.com/archive/2005/03/18/121106.html我有个文章可以给楼主一点思路
http://blog.8384.org/blogview.asp?logID=239
分享到:
相关推荐
notes定时发邮件notes定时发邮件notes定时发邮件notes定时发邮件notes定时发邮件
springmvc+mybatis+squarz+mail实现了定时发送邮件到指定的邮箱地址,只需要到QQ邮箱开通免费服务,亲测可用,修改util中的邮箱地址就可以了,可以直接运行
自动选股程序定时发邮件
Jmail/asp.net定时发邮件内容图片+附件程序源码
补充我上一个资源《多线程定时任务邮件服务》的运行脚本文件
邮件发送类 定时发送邮件 小程序 设置定时发送邮件 可以xml配置定时时间 等等
在spring利用javamail,quartz定时发送邮件
【博主推荐】C# Winform定时发送邮箱(附源码),1.支持对oracle数据定时查询,然后把查询结果发送邮箱;2.灵活可配置,日志目录,数据库相关连接,展示的字段,展示的格式,发送的邮箱,表格的风格等; 3.可以在此...
一个小程序,对于有些朋友可能有用,是为了帮助有些朋友发邮件有时间限定的,可以设定到一定时间自动发送!当然6点是可以改成其他的!
Spring框架整合Quartz,使用javamail定时发送邮件
网上诸如Spring Send Email 或者 Spring quartz Send Email 多不胜数,大多都只是简单介绍一下如何去实现,却没有考虑到作为一个Demo,最重要的是功能,本文通过完善的Demo介绍了一个Spring+Velocity 定时发送邮件的例子
RegularMail定时发邮件////// 发送邮件/// /// /// protected void btnFS_Click(object sender, EventArgs e){string mailfrom = this.lblfajianren.Text.ToString().Trim();//设置发件人MailAddress from = new ...
定时发送邮件,加附件,读取数据库,mysql,sql2000
NULL 博文链接:https://liu346435400.iteye.com/blog/1281022
定期发送邮件定期发送邮件定期发送邮件定期发送邮件定期发送邮件定期发送邮件
脚本监控服务器磁盘使用率,并自动 发送邮件通知,显示每天服务期磁盘使用率信息,也可更改脚本,只发送告警信息。这个随意~
java实现的自动定时发送邮件技术,可以定时发送,也可以设定时间发送。
用window服务写的一个定时发送邮件的小程序.经过测试可用.有详细的windows服务安装步骤和卸载步骤!
易语言源码易语言邮件发送.rar 易语言源码易语言邮件发送.rar 易语言源码易语言邮件发送.rar 易语言源码易语言邮件发送.rar 易语言源码易语言邮件发送.rar 易语言源码易语言邮件发送.rar
使用Springboot 做定时发送邮件的deom 代码上有注解,输入自己的邮箱账号密码,可以直接运行。我设置的是每秒发送一次。