可以使用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 ='V-Test@163.com', @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,設置發送郵件的發送人,發送郵件服務器等
更詳細的配置可參考如下頁面:
https://blogs.msdn.microsoft.com/apgcdsd/2011/06/28/sql-server-2008database-mail-sql
https://www.cnblogs.com/nowl/p/8351515.html