標籤:
SQL SERVER 2008配置Database Mail –用SQL 資料庫發郵件
https://blogs.msdn.microsoft.com/apgcdsd/2011/06/28/sql-server-2008database-mail-sql/
原文來自:http://blog.sqlauthority.com/2008/08/23/sql-server-2008-configure-database-mail-send-email-from-sql-database/ August 23, 2008 by pinaldave
今天這篇文章我們來討論database mail,也就是用SQL server發郵件的問題。關於SQL Server中database mail和SQLMail的區別請參考SQL SERVER – Difference Between Database Mail and SQLMail. Database Mail代替了SQLMail的功能並有很大改進,所以非常建議放棄SQL Mail將其升級到Database Mail. 在此特別對軟體開發工程師Monica致謝,感謝他為本文製作了題材廣泛的測試和圖片。
使用SQL Server寄送電子郵件郵件需要三個基本配置步驟
1) 建立設定檔和帳戶 2) 配置電子郵件 3) 寄送電子郵件.
步驟1)建立設定檔和帳戶
您需要建立一個設定檔和設定資料庫郵件嚮導,用以訪問設定資料庫郵件管理節點中的資料庫郵件節點及其操作功能表中使用的帳戶。可以使用此嚮導來管理帳戶、 設定檔和資料庫郵件的全域設定,如下所示:
Step 2)配置郵件:
在完成賬戶和設定檔建立之後,我們需要配置Database Mail.為了配置它,首先需要通過 sp_configure 預存程序,啟用database mail XPs 參數,如下所示:sp_CONFIGURE ‘show advanced‘, 1 GO RECONFIGURE GO sp_CONFIGURE ‘Database Mail XPs‘, 1 GO RECONFIGURE GO
<!--[endif]-->
Step 3) 發送郵件:
如上所有配置完成之後,我們就可以發郵件了,執行儲存的過程的 sp_send_dbmail,並提供所需的參數,如下所示:
USE msdb GO EXEC sp_send_dbmail @profile_name=‘PinalProfile‘, @recipients=‘[email protected]‘, @subject=‘Test message‘, @body=‘This is the body of the test message. Congrates Database Mail Received By you Successfully.‘
<!--[endif]-->
輸入參數的所有驗證都完畢後,郵件將在Service Broker中排序等待。關於這一點,更多資訊請參見SQL SERVER – Introduction to Service Broker.
Database Mail將保留髮出的電子郵件的副本,我們可以通過sysmail_allitems, sysmail_sentitems, sysmail_unsentitems, sysmail_faileditems來查詢。郵件的發送狀態將儲存在sysmail_mailitems表中,成功發送時,該表中sent_status欄目將顯示為1;發送失敗時,sent_status欄目將顯示為2,未發送時為3 如下所示,記錄檔可以在sysmail_log 表中查看
SELECT * FROM sysmail_mailitems GO SELECT * FROM sysmail_log GO
<!--[endif]-->
發送狀態可以在sysmail_sentitems表中驗證.
<!--[endif]-->
發送之後就可以在收件匣查閱郵件了,如所示是作者收到的郵件
<!--[endif]-->
Tags Database Mail
SQL SERVER 2008配置Database Mail –用SQL 資料庫發郵件