您好,登錄后才能下訂單哦!
在SQL Server中配置好Database Mail之后,可以使用存儲過程 msdb.dbo.sp_send_dbmail 給特定的User發送mail,或在第一時間通知DBA數據庫執行的異常情況,是一個非常不錯的功能。
一,配置數據庫郵件
1,在SSMS的Management中,點擊Database Mail打開Database Mail Configuration Wizard
2,創建Profile
在發送database mail的時候,需要指定數據庫郵件的Profile,Profile一個配置文檔,包含SMTP Server地址,SMTP Server身份驗證等的配置文檔。
點擊Add,創建SMTP Account。
3,增加SMTP Account,需要配置Database mail的發送地址,SMTP Server URL和 SMTP Server Authentication
4,設置默認的Profile,
如果設置了默認的Profile,執行msdb.dbo.sp_send_dbmail 時不需要@profile_name顯式指定Profile name。
5,發送測試mail
Database Mail 自帶有"Send Test E-Mail"和“View Database Mail Log”的功能,用來查看Database mail的發送情況。
二,使用TSQL語句發送mail
1,使用 msdb.dbo.sp_send_dbmail 發送mail,由于設置了default profile,所以不需要顯示使用@Profile_Name來指定Profile。
EXEC msdb.dbo.sp_send_dbmail @recipients='xxx@domainname.com' ,@subject='Test email subject' ,@body='test email body' --,@profile_name='default'
使用msdb.dbo.sp_send_dbmail也能發送HTML格式的mail,需要在參數@body_format指定格式。
[ @body_format= ] 'body_format'
默認值是Text,表示發送的是郵件正文是text格式;HTML格式,可以使用HTML 標簽
2,發送text格式的郵件
EXEC msdb.dbo.sp_send_dbmail @recipients='xxx@domainname.com' ,@subject='Test email subject' ,@body='test email body' --,@profile_name='default_ProfileName' --,@body_format='text'
@Body_Format 參數的默認值是Text
3,發送Html格式的mail
declare @htmlbody varchar(max)set @htmlbody='<table> <tr> <td>first row</td> </tr> <tr> <td>second row</td> </tr> </table>'EXEC msdb.dbo.sp_send_dbmail @recipients='xxx@domainname.com' ,@subject='Test email subject' ,@body=@htmlbody --,@profile_name='default_ProfileName' ,@body_format='Html'
4,將查詢結果作為mail的body
存儲過程 msdb.dbo.sp_send_dbmail 可以執行一個select 查詢子句,并將查詢結果作為一個附件發送出去。
EXEC msdb.dbo.sp_send_dbmail @recipients='xxx@domainname.com' ,@subject='Test email subject' --,@profile_name='default_ProfileName' --,@body_format='text' ,@query='select * from db_study.dbo.test' ,@attach_query_result_as_file = 1
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。