可以使用SQL SERVER 來發送自動郵件,主要是使用SQL SERVER 的dbo.sp_send_dbmail 存儲過程(在msdb資料庫中)。 具體步驟如下: Step1: 編寫要發送的郵件內容,然後調用sp_send_dbmail 存儲過程來發送郵件: Step2: 執行完STEP1 的代 ...
可以使用SQL SERVER 來發送自動郵件,主要是使用SQL SERVER 的dbo.sp_send_dbmail 存儲過程(在msdb資料庫中)。
具體步驟如下:
Step1: 編寫要發送的郵件內容,然後調用sp_send_dbmail 存儲過程來發送郵件:
declare @tableHTML varchar(max)
SET @tableHTML =
N'<style>
table { width:100%;}
table, th, td {
border: 1px solid black;
border-collapse: collapse;}
th, td {
padding: 5px;
text-align: left;}
th { background-color:#4682B4;
font-size:12.0pt;
font-weight:bold;
font-family:Arial ,sans-serif;
color :#ffffff;}
tr { font-size:8.0pt;font-family:Arial,sans-serif;}'+
N'</style><H1 style="text-align:center">部門信息</H1>'+
N'<table align="center">'+
N'<tr><th width=20%" >部門編號</th>'+
N'<th width=40%>部門名稱</th><th width=40%>上級部門名稱</th>'+
N'</tr>'+
CAST((
select
td=a.DepartID,'',
td=a.DepartName,'',
td=ISNULL(b.DepartName,'(NULL)'),''
from TTEM.dbo.EMOrgStructure a
leftjoin TTEM.dbo.EMOrgStructure b on a.DepartParentID=b.DepartID
FORXMLPATH('tr'),TYPE
)ASNVARCHAR(MAX))+
N'</table>';
Exec dbo.sp_send_dbmail
@profile_name='DannyTest',
@recipients ='[email protected]',
@subject='Test Stored Procedure Funtion of Sending Mails',
@body=@tableHTML,
@body_format ='HTML';
Step2: 執行完STEP1 的代碼後就可以在收件箱中查看到剛纔從SQL SERVER 自動發送的郵件了:
Step3: 初次在MSDB 中調用sp_send_dbmail 時,可能不成功,這是因為資料庫預設沒有啟用和配置郵件功能,可參考如下步驟:
1,在SQL MANAGEMETN STUDIO 的“Management”---->"Database Mail"中進行配置:主要時設置Profile Name,設置發送郵件的發送人,發送郵件伺服器等