|
|
 |
 |
|
|
 |
|
SQL邮件自动应答
|
|
|
|
编辑:华夏媒体 作者:未知 来源:网络 时间:2006-07-29 总浏览量:577 |
|
文字大小:[ 大 中 小 ]
文字颜色: 双击滚屏/单击停止 |
|
[上一页] [1] [2] [3] [下一页]
|
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
|
|
[上一页] [1] [2] [3] [下一页]
|
|
|
打印 收藏 关闭 至顶部 |
|
 |
|