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

2
CREATE PROCEDURE usp_SendMail @To varchar(100) ,@Subject varchar(400)=' ', @Body varchar(8000) =' ' 3

4
AS 5

6
Declare @object int 7
Declare @hr int 8

9
EXEC @hr = sp_OACreate 'CDO.Message', @object OUT 10

11
EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendusing").Value','2' 12
EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/smtpserver").Value', 'mail.idg-rbi.com.cn' 13

14
--下面三条语句是smtp验证,如果服务器需要验证,则必须要这三句,你需要修改用户名和密码15
EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate").Value','1' 16
EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendusername").Value','x@mail.com' 17
EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendpassword").Value','pass' 18

19
EXEC @hr = sp_OAMethod @object, 'Configuration.Fields.Update', null20
EXEC @hr = sp_OASetProperty @object, 'To', @To21
EXEC @hr = sp_OASetProperty @object, 'Bcc', 'xx@yahoo.com.cn'22
EXEC @hr = sp_OASetProperty @object, 'From','<x@mail.com>'23
EXEC @hr = sp_OASetProperty @object, 'Subject', @Subject24
EXEC @hr = sp_OASetProperty @object, 'BodyFormat', 'MailFormat.Text'25

26
EXEC @hr = sp_OASetProperty @object, 'TextBody', @Body27

28
SET @Body = REPLACE(@Body,CHAR(13),'<br />')29
EXEC @hr = sp_OASetProperty @object, 'HtmlBody',@Body30
EXEC @hr = sp_OAMethod @object, 'Send', NULL31

32
--判断出错33
IF @hr <> 034
BEGIN35
EXEC sp_OAGetErrorInfo @object 36
RETURN @object37
END38
PRINT 'success'39
EXEC @hr = sp_OADestroy @object 40

41
GO
浙公网安备 33010602011771号