傳送郵件儲存過程
create procedure [dbo].[sys_sendmail]
@from varchar(100),
@to varchar(100),
@bcc varchar(500),
@subject varchar(400) = " ",
@body ntext = " "
as declare @object int,
@hr int
declare @serverhost nvarchar(100),
@username nvarchar(100),
@password nvarchar(50),
@usessl int
declare @ssl nvarchar(10),
@useservercredentials int
set @serverhost = 'smtp.tom.com'
set @username = '******@tom.com'
set @password = '******'
set @usessl = 0
set @useservercredentials = 1
if @usessl = 1
begin
set @ssl = 'true'
endelse
begin
set @ssl = 'false'
endexec @hr = sp_oacreate 'cdo.message', @object out
exec @hr = sp_oasetproperty @object,
'configuration.fields("").value',
'2'exec @hr = sp_oasetproperty @object,
'configuration.fields("").value',
@serverhost
exec @hr = sp_oasetproperty @object,
'configuration.fields("").value',
@ssl
if @useservercredentials = 1
begin
exec @hr = sp_oasetproperty @object,
'configuration.fields("").value',
'1'exec @hr = sp_oasetproperty @object,
'configuration.fields("").value',
@username
exec @hr = sp_oasetproperty @object,
'configuration.fields("").value',
@password
endexec @hr = sp_oamethod @object, 'configuration.fields.update', null
exec @hr = sp_oasetproperty @object, 'to', @to
exec @hr = sp_oasetproperty @object, 'from', @from
exec @hr = sp_oasetproperty @object, 'subject', @subject
exec @hr = sp_oasetproperty @object, 'htmlbody', @body
exec @hr = sp_oamethod @object, 'send', null
--判斷出錯
if @hr <> 0
begin
exec sp_oageterrorinfo @object
-- return @object
endexec @hr = sp_oadestroy @object
業務資料處理儲存過程
create procedure [dbo].[sp_notify_dba]
as begin
set nocount on ;
declare @a nvarchar(80)
declare @b nvarchar(80)
declare @c nvarchar(80)
declare @d nvarchar(80)
declare @str_send nvarchar(2000)
--宣告for dcs表游標
declare cursor_for_me cursor scroll dynamic
for select a, b, c, d from mytable where ( day > ( getdate() - 12 ) )
set @str_send = '郵件傳送內容: ' + ''
--開啟游標
open cursor_for_me
--迴圈獲取游標
fetch next from cursor_for_me into @a, @b, @c, @d
while( @@fetch_status = 0 )
begin
set @str_send = @str_send + @a+ ' , ' + @b + ' , ' + @c + ' , ' + @d + ''
fetch next from cursor_for_me into @a, @b, @c, @d
end--關閉游標
close cursor_for_me
--刪除游標
deallocate cursor_for_me
print @str_send
--呼叫sys_sendmail傳送郵件
exec [dbo].[sys_sendmail] @from = n'******@tom.com',
@to = n'******@163.com', @bcc = n'',
@subject = n'郵件標題頭', @body = @str_send
end若執行出現如下提示
「sql server 阻止了對元件 'ole automation procedures' 的 過程'sys.sp_oacreate' 的訪問,因為此元件已作為此伺服器安全配置的一部分而被關閉。系統管理員可以通過使用 sp_configure 啟用 'ole automation procedures'。有關啟用 'ole automation procedures' 的詳細資訊,請參閱 sql server 聯機叢書中的 "外圍應用配置器"。 語句已終止。」
可執行以下語句
sp_configure 'show advanced options', 1;
goreconfigure;
gosp_configure 'ole automation procedures', 1;
goreconfigure;
go
sql 傳送郵件
一 啟用database mail xps功能。檢視database mail xps功能是否開啟,從返回結果來看,value為0說明沒有開啟,注意sql mail xps是sql server早期版本提供的傳送郵件功能,而現在用的是database mail xps來實現傳送郵件。啟動databa...
html傳送郵件 Python傳送郵件(三十)
簡單郵件傳輸協議 smtp 是一種協議,用於在郵件伺服器之間傳送電子郵件和路由電子郵件。python提供smtplib模組,該模組定義了乙個smtp客戶端會話物件,可用於使用smtp或esmtp偵聽器守護程式向任何網際網路機器傳送郵件。這是乙個簡單的語法,用來建立乙個smtp物件,稍後將演示如何用它...
SQL2005 傳送郵件
最近在csdn上面看了 實現統計乙個表的記錄數,如果每天超過一定數量就傳送郵件報警的作業指令碼 帖子。但是上面好多的意見多是在sql2000上面的。於是自己就開始了一下在sql2005上面的實踐。1。首先要啟用資料庫郵件儲存過程。具體操作如下 在 開始 選單上,依次指向 所有程式 microsoft...