在SQL Server中,不使用“SQL 郵件”的情況下發送郵件

來源:互聯網
上載者:User
SET QUOTED_IDENTIFIER ON 
GO
SET ANSI_NULLS ON 
GO

ALTER  PROCEDURE usp_SendMail @To varchar(100) ,@Subject varchar(400)=' ', @Body varchar(8000) =' ' 

AS 

Declare @object int 
Declare @hr int 

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

EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendusing").Value','2' 
EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/smtpserver").Value', 'SMTP'  --SMTP地址

--下面三條語句是smtp驗證,如果伺服器需要驗證,則必須要這三句,你需要修改使用者名稱和密碼
EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate").Value','1' 
EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendusername").Value','your email address'  --你的郵件地址
EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendpassword").Value','yourpassword'  --郵箱密碼

EXEC @hr = sp_OAMethod @object, 'Configuration.Fields.Update', null
EXEC @hr = sp_OASetProperty @object, 'To', @To
EXEC @hr = sp_OASetProperty @object, 'Bcc', 'goodspeedwang@yahoo.com.cn'
EXEC @hr = sp_OASetProperty @object, 'From', 'Goodspeed <goodspeed@idg-rbi.com.cn>' 
EXEC @hr = sp_OASetProperty @object, 'Subject', @Subject
EXEC @hr = sp_OASetProperty @object, 'BodyFormat', 'MailFormat.Text'

EXEC @hr = sp_OASetProperty @object, 'TextBody', @Body -- Text格式

SET @Body = REPLACE(@Body,CHAR(13),'<br />')
EXEC @hr = sp_OASetProperty @object, 'HtmlBody',@Body --HTML格式的郵件
EXEC @hr = sp_OAMethod @object, 'Send', NULL

--判斷出錯
IF @hr <> 0
BEGIN
   EXEC sp_OAGetErrorInfo @object   
   RETURN @object
END
PRINT 'success'
EXEC @hr = sp_OADestroy @object


GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO

更多cdo的資訊就訪問
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/exchanchor/htms/msexchsvr_cdo_top.asp

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.