TomSun

享受编程的快乐!Attitude is everything!

导航

SQL存储过程----发送邮件

Posted on 2005-05-18 11:17  TomSun  阅读(1040)  评论(0)    收藏  举报

 

 1
 2CREATE  PROCEDURE usp_SendMail @To varchar(100) ,@Subject varchar(400)=' '@Body varchar(8000=' ' 
 3
 4AS 
 5
 6Declare @object int 
 7Declare @hr int 
 8
 9EXEC @hr = sp_OACreate 'CDO.Message'@object OUT 
10
11EXEC @hr = sp_OASetProperty @object'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendusing").Value','2' 
12EXEC @hr = sp_OASetProperty @object'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/smtpserver").Value''mail.idg-rbi.com.cn' 
13
14--下面三条语句是smtp验证,如果服务器需要验证,则必须要这三句,你需要修改用户名和密码
15EXEC @hr = sp_OASetProperty @object'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate").Value','1' 
16EXEC @hr = sp_OASetProperty @object'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendusername").Value','x@mail.com' 
17EXEC @hr = sp_OASetProperty @object'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendpassword").Value','pass' 
18
19EXEC @hr = sp_OAMethod @object'Configuration.Fields.Update'null
20EXEC @hr = sp_OASetProperty @object'To'@To
21EXEC @hr = sp_OASetProperty @object'Bcc''xx@yahoo.com.cn'
22EXEC @hr = sp_OASetProperty @object'From','<x@mail.com>'
23EXEC @hr = sp_OASetProperty @object, 'Subject', @Subject
24EXEC @hr = sp_OASetProperty @object, 'BodyFormat''MailFormat.Text'
25
26EXEC @hr = sp_OASetProperty @object, 'TextBody', @Body
27
28SET @Body = REPLACE(@Body,CHAR(13),'<br />')
29EXEC @hr = sp_OASetProperty @object, 'HtmlBody',@Body
30EXEC @hr = sp_OAMethod @object, 'Send', NULL
31
32--判断出错
33IF @hr <> 0
34BEGIN
35   EXEC sp_OAGetErrorInfo @object   
36   RETURN @object
37END
38PRINT 'success'
39EXEC @hr = sp_OADestroy @object 
40
41GO