这个处理在sql2000中可以,sql2008中就无用了sql2008有自带的mail处理
-----------------------------------------
一:写用到的存储过程
1.写存储过程 A
2.写存储过程 B
3.写存储过程 C
4.写存储过程 D
二:准备必要的环境
三,设置JOB (就是顺序执行的多个存储过程)
设定存储过程的顺序及每个存储过程的具体细节
----------------------------------------------
细节:
1.要用到[
xpsmtp80.dll]这个dll,需要放在sql的位置[
C:/Program Files/Microsoft SQL Server/80/Tools/Binn/]
2.在master数据库上执行
exec sp_addextendedproc 'xp_smtp_sendmail','C:/Program Files/Microsoft SQL Server/80/Tools/Binn/xpsmtp80.dll'
会在master
数据的扩展存储过程中生成一个
xp_smtp_sendmail
3.在master数据库查询分析器上执行 ,创建
Mail_Trans发送邮件的存储过程
CREATE PROC Mail_Trans
@FROM1 Varchar(50)
,@TO1 Varchar(500)
,@subject1 Varchar(50)
,@message1 Varchar(8000)
AS
Declare @rc Int
Set @message1 = '<HTML><body><pre> '+@message1 +'</pre></body></HTML>'
Exec @rc = master.dbo.xp_smtp_sendmail
@FROM = @FROM1,
@TO = @TO1,
@subject = @subject1,
@message = @message1,
@type = 'text/html',
@server = '192.168.1.0' //发送邮件的服务器
Select RC = @rc
4.在 xp_smtp_sendmail 上左键双击,设定到 xpsmtp80.dll的位置
@FROM1 Varchar(50)
,@TO1 Varchar(500)
,@subject1 Varchar(50)
,@message1 Varchar(8000)
AS
Declare @rc Int
Set @message1 = '<HTML><body><pre> '+@message1 +'</pre></body></HTML>'
Exec @rc = master.dbo.xp_smtp_sendmail
@FROM = @FROM1,
@TO = @TO1,
@subject = @subject1,
@message = @message1,
@type = 'text/html',
@server = '192.168.1.0' //发送邮件的服务器
Select RC = @rc
4.在 xp_smtp_sendmail 上左键双击,设定到 xpsmtp80.dll的位置
5.测试 exec Mail_Trans '发信者','收信者','邮件名','邮件正文内容'
结果: RC 0 而且 发信成功
6.注意:SQL SERVER 的 运行方式 :
SQL SERVER AGENT
7.以上的准备工作做好后,就可以通过所需数据服务器--
管理---JOB向导建立一个新的JOB,详细设定执行的时间,次数等等具体的细节(
set nocount on/off)