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。