在很多數據分析和集成的場景下,我們需要了解數據庫中關鍵的腳本或者job的執行情況。這個時候郵件提醒是一種比較不錯的通知方式。本文從零開始,一步一步的介紹如何使用SQL Server來發送郵件。
環境:126郵箱。SQL Server 2012。
1. 配置郵箱的SMTP權限(大部分郵箱默認情況下該功能是關閉的,所以需要手動認證打開)
登陸126郵箱---》設置---》POP3/SMTP/IMAP



2 勾選 POP3/SMTP服務,IMAP/SMTP服務,這個時候會提示“請設置授權碼已開啟服務”,點擊確定。

3 在授權碼頁面點擊“開啟”,手機驗證后,設置授權碼。請注意:這里的授權碼就是將來客戶端使用的登陸密碼!設置之后如下:


4 登陸SQL Server, 管理---》數據庫郵件---》右鍵, 配置數據庫郵件


5 選擇第一項:通過執行以下任務來安裝數據庫郵件。

6. 設置配置文件名。(以后會使用該配置來發送郵件)點擊"添加"進入詳細配置頁面。


7. 按照下圖所示進行配置。有兩點需要注意:
1. 使用不同的郵箱有不同的端口號。126郵箱的端口號為25,如果你使用其他郵箱,可以去網上
查一下它們默認使用的smtp端口號是多少。
2. 下面的身份認證的密碼一定要是前面所提到的授權碼!而不能是郵箱的登陸密碼。
(之所以有授權碼的概念也是為了保證郵箱密碼不外泄的情況下可以給相應的客戶端開放smtp權限。)


8. 點擊確定以及下一步,完成郵箱配置文件的配置。


9. 發送測試郵件。右鍵數據庫郵件---》發送測試電子郵件。輸入相應的收件人(多人已分號相隔)


10. 郵箱收到郵件如下:


11. 最后補充一下如何通過SQL腳本來發送郵件。(前面的配置都是需要的)
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'TestDBEmail',
@recipients = 'xxx@126.com;xxx@gmail.com',
@subject = 'Test',
@body = 'Test SQL Server sent email.'