SQL Server中傳送郵件的新方式

2021-08-21 22:58:32 字數 1804 閱讀 5638

說是新方式,其實也是早就用到的技術了,所以放上來!

在.net中,大家知道,可以使用system.web.mail來傳送郵件。在framework 1.1下支援驗證。

private void page_load(object sender, system.eventargs e)

以前我曾寫過在.net下傳送郵件的方法,詳見:

sql server中,我們一般使用sql本身的郵件傳送方式,但需要配置exchage server、outlook等,也是乙個比較繁瑣的事情。很多人抱怨說配置不成功。

其實,我們可以在 sql server中建立 ole 物件例項,呼叫iis smtp自帶的傳送元件來實現郵件傳送。

我們建立這個儲存過程,你需要修改的地方是,smtpserver的名字

create procedure sys_sendmail @from varchar(100) , @to varchar(100) , @bcc varchar(500), @subject varchar(400)=" ", @body ntext =" "

as declare @object int

declare @hr int

exec @hr = sp_oacreate 'cdo.message', @object out

exec @hr = sp_oasetproperty @object, 'configuration.fields("

").value','2'

exec @hr = sp_oasetproperty @object, 'configuration.fields("

").value'

, 'smtp.163.com'

--下面三條語句是smtp驗證,如果伺服器需要驗證,則必須要這三句,你需要修改使用者名稱和密碼

exec @hr = sp_oasetproperty @object, 'configuration.fields("

").value','1'

exec @hr = sp_oasetproperty @object, 'configuration.fields("

").value','lihonggen0'

exec @hr = sp_oasetproperty @object, 'configuration.fields("

").value','***'

exec @hr = sp_oamethod @object, 'configuration.fields.update', null

exec @hr = sp_oasetproperty @object, 'to', @to

exec @hr = sp_oasetproperty @object, 'bcc', @bcc

exec @hr = sp_oasetproperty @object, 'from', @from

exec @hr = sp_oasetproperty @object, 'subject', @subject

exec @hr = sp_oasetproperty @object, 'textbody', @body

exec @hr = sp_oamethod @object, 'send', null

--判斷出錯

if @hr <> 0

begin

exec sp_oageterrorinfo @object

return @object

endprint 'success'

exec @hr = sp_oadestroy @object

go 注意:必須確保安裝smtp,可以訪問cdo物件。

SQL Server中傳送HTML格式郵件的方法

以下列舉使用sqlserver 傳送郵件的3個示例 此示例使用電子郵件位址 danw adventure works.com 向 dan wilson 傳送電子郵件。該郵件的主題為 automated success message。郵件正文包含一句話 the stored procedure fi...

C 中傳送郵件

using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.linq using system.text u...

Linux中傳送告警郵件

1.準備乙個測試郵箱賬號 如fr 163.com,作為發件人。注意 保證郵箱的pop3 smtp是開啟狀態 如下 並且開通授權碼,記下自己郵箱的授權碼。set smtp auth password 剛剛的授權碼 set smtp auth login 3.測試一下 echo test content...