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
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41