SQL邮件自动应答
作者 佚名技术
来源 数据库编程
浏览
发布时间 2012-02-16
SQLMail可以收发邮件,可能好多人都有xp_sendmail发送过邮件,这里介绍一种邮件服务器接收邮件后,根据邮件内容(只能是查询语句) 把邮件中的查询语句执行后的结果以附件形式自动返回给发送邮件者。 eg: 发送邮件,邮件内容为: select top 10 id,name from sysobjects则服务器自动回复邮件,内容为上述查询语句的执行结果,以附件形式发送。 1:当然是先配置好SQL邮件服务了,这方面的资料比较多,此处不赘述。 2: 把sp_processmail稍作修改 (把发件人的邮件地址解析为真正的邮箱地址) Alter procedure sp_processmail @subject varchar(255)=NULL, @filetype varchar(3)=’txt’, @separator varchar(3)=’tab’, @set_user varchar(132)=’guest’, @dbuse varchar(132)=’master’ as declare @status int declare @msg_id varchar(64) declare @originator varchar(255) declare @originator_address varchar(255) declare @a varchar(255) declare @cc_list varchar(255) declare @msgsubject varchar(255) declare @query varchar(8000) declare @messages int declare @mapifailure int declare @resultmsg varchar(80) declare @filename varchar(12) declare @current_msg varchar(64) select @messages=0 select @mapifailure=0 if @separator=’tab’ select @separator=CHAR(9) /* get first message id */ exec @status = master.dbo.xp_findnextmsg @msg_id=@msg_id output, @unread_only=’true’ if @status <> 0 select @mapifailure=1 while (@mapifailure=0) begin if @msg_id is null break if @msg_id = ’’ break exec @status = master.dbo.xp_readmail @msg_id=@msg_id, @originator=@originator output, @cc_list=@cc_list output, @subject=@msgsubject output, @message=@query output, @peek=’true’, @originator_address= @originator_address output, @suppress_attach=’true’ if @status <> 0 begin select @mapifailure=1 break &n |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于SQL邮件自动应答的所有评论