Database Mail
Database Mail 是從 SQL Server Database Engine 傳送電子郵件訊息的企業解決方案。使用 Database Mail,資料庫應用程式就能夠將電子郵件訊息傳送給使用者。這類訊息能包含查詢結果,也可以包含來自網路上任何資源的檔案。Database Mail 具有可靠性、延展性、安全性和可支援性。
安全性注意事項 |
---|
依預設,Database Mail 並未使用。若要使用 Database Mail,您必須使用 Database Mail 組態精靈、sp_configure 預存程序或以原則為基礎之管理的介面區組態 Facet,藉以明確啟用 Database Mail。 |
可靠性
毋須使用 Microsoft Outlook 或「擴充訊息應用程式開發介面 (擴充 MAPI)」。Database Mail 會使用標準的 Simple Mail Transfer Protocol (SMTP) 來傳送郵件。您不需要在執行 SQL Server 的電腦上安裝「擴充 MAPI」用戶端,就可以使用 Database Mail。
處理序隔離。為了要使 SQL Server 所受的影響降到最低,傳遞電子郵件的元件會在 SQL Server 外部以獨立的處理序執行。即使外部處理序停止或失敗,SQL Server 仍會繼續將電子郵件訊息排入佇列中。佇列的訊息會在外部處理序或 SMTP 伺服器恢復連線後傳送。
容錯移轉帳戶。您可以使用 Database Mail 設定檔,指定多個 SMTP 伺服器。萬一 SMTP 伺服器無法使用時,還是可以將郵件傳遞到另一個 SMTP 伺服器。
叢集支援。Database Mail 可感知叢集,而且在叢集上完全受到支援。
延展性
背景傳遞。Database Mail 可提供背景或非同步傳遞功能。呼叫 sp_send_dbmail 以傳送訊息時,Database Mail 會將要求加入 Service Broker 佇列。此舉會立即傳回預存程序。外部電子郵件元件就會收到該要求,並傳遞電子郵件。
多個設定檔。您可以使用 Database Mail,在 SQL Server 執行個體內建立多個設定檔。(選擇性) 傳送訊息時,您可以選擇 Database Mail 使用的設定檔。
多個帳戶。每個設定檔都可以包含多個容錯移轉帳戶。您可以設定不同的設定檔使用不同的帳戶,在多個電子郵件伺服器散發電子郵件。
64 位元相容性。SQL Server 的 64 位元安裝完全支援 Database Mail。
安全性
預設為關閉狀態。為了要縮小 SQL Server 的介面區,預設會停用 Database Mail 預存程序。
若要傳送 Database Mail,您必須是 msdb 資料庫中 DatabaseMailUserRole 資料庫的成員。
設定檔安全性。Database Mail 會強制執行郵件設定檔的安全性。您要選擇擁有 Database Mail 設定檔存取權的 msdb 資料庫使用者或群組。您可以將存取權授與給 msdb 中的特定使用者或所有使用者。私人設定檔限制清單上指定的使用者才有存取權。公用設定檔可供資料庫的所有使用者使用。
附加檔案大小管理員。Database Mail 強制設定附加檔案大小的限制。您可以使用 sysmail_configure_sp 預存程序來變更這項限制。
禁止的副檔名。Database Mail 維護一個禁止的副檔名清單。使用者無法附加副檔名出現在清單中的檔案。您可以使用 sysmail_configure_sp 來變更此清單。
Database Mail 會在 SQL Server Engine 服務帳戶之下執行。若要將資料夾中的檔案附加到電子郵件,SQL Server Engine 帳戶應該有權存取包含檔案的資料夾。
可支援性
整合式組態。Database Mail 可維護 SQL Server Database Engine 內電子郵件帳戶的資訊。毋須在外部用戶端應用程式管理郵件設定檔。「Database Mail 組態精靈」提供方便的介面,供設定 Database Mail 使用。您也可以使用 Transact-SQL,來建立並維護 Database Mail 組態。
記錄。Database Mail 會將電子郵件活動記錄到 SQL Server、Microsoft Windows 應用程式事件記錄,以及 msdb 資料庫中的資料表。
稽核。Database Mail 會在 msdb 資料庫中,保留所傳送的郵件與附加檔案副本。您可以輕鬆稽核 Database Mail 的使用狀況,並檢閱所保留的郵件。
支援 HTML。您可以使用 Database Mail 傳送 HTML 格式的電子郵件。
Database Mail 可為 SQL Mail 最常用的功能提供健全、高效能的取代方案。Database Mail 是為了與 SMTP 伺服器一同運作而設計,而且已和 Microsoft SMTP 伺服器一起測試過。如需將預存程序從 SQL Mail 轉換到 Database Mail 的資訊,請參閱<如何:將 SQL Mail 的預存程序轉換至 Database Mail (Transact-SQL)>。
[!附註]
SQL Server Express 無法使用 Database Mail。