程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 如何建立SQL Server 2005數據庫郵件

如何建立SQL Server 2005數據庫郵件

編輯:關於SqlServer
 

數據庫郵件(Database Mail)是SQL Server 2005數據庫引擎中新增的一項簡單實用的功能。Database Mail代替了SQL Mail,它使用一個簡單郵件傳輸協議(SMTP)服務器,而不是SQL Mail所要求的MAPI賬號來發送電子郵件。

這允許你的組織發送帶附件和查詢結果的電子郵件,附加查詢結果,以及格式化HTML電子郵件。你還可以用它設定許多其它配置,而不需要你擁有一台Exchange服務器或配置任何類型的MAPI工作區。

使用Database Mail的好處

除完全以SMTP為基礎外,Database Mail還具有許多其它優點:

  • 它在數據庫引擎以外運行,因此對數據庫引擎的壓力最小。
  • 它支持群集,完全支持群集環境。
  • 它的用戶資料(Profile)允許使用冗余SMTP服務器。(我將在本文後部分詳細討論這一點。)
  • 它允許你以參數的形式向存儲過程發送查詢文本,存儲過程將執行查詢並在電子郵件中發送結果。
  • 消息通過一個Service Broker隊列異步傳送,因此你在發送電子郵件時不必等待回應。
  • 它為電子郵件發送提供多重安全保護,如一個控制附件擴展名的過濾器和一個附件大小管理器。

建立和使用Database Mail

在建立一個Database Mail解決方案前,你需要進行一些規劃工作。首先,你必須具有一台有效的SMTP服務器來傳送電子郵件。如果你沒有SMTP服務器,請參閱了解建立SMTP服務器的相關信息。如果你無法確定組織是否擁有SMTP服務器,詢問你的網絡管理員獲得機器名稱或服務器的IP地址。你的網絡管理員可能需要對服務器進行配置,以便SQL Server能夠發送電子郵件。

在Database Mail中,賬戶(Account)保存數據庫引擎用來發送電子郵件消息的信息。一個賬戶只為一台電子郵件服務器保存信息,如賬戶名、電子郵件地址、回復電子郵件地址、服務器名稱或IP地址,以及一些可選的安全設置。

要發送一封Database Mail電子郵件,必須使用一個用戶資料(Profile)。用戶資料為一個或幾個賬戶設立。這種用戶資料-賬戶設置非常有用。它允許你將幾個賬戶和一個用戶資料聯系起來,這意味著你可以將幾台電子郵件服務器和一個用戶資料聯系起來。

因此,當你試圖發送一封電子郵件時,系統會嘗試用戶資料中的每個賬戶,直到消息被成功發送出去。如果一台或幾台SMTP服務器出現故障,這種設置就十分有用。它還允許你開發發送電子郵件的應用程序代碼,而不必擔心針對不同的環境修改Profile名稱。你可以在開發和生產環境中使用相同的Profile名稱,唯一的差別在於用戶資料中包含的賬戶有所不同。

該是時候了解如何建立一個Database Mail賬戶了。在我們的例子中,我假設你正坐在一台你具有系統管理員訪問權限的開發機器前。如果你沒有系統管理員權限,你需要成為msdb數據庫DatabaseMailUserRole的一員。

下面的腳本建立一些我在整個實例中都要用到的變量。注意:整個腳本將在msdb數據庫中運行,Database Mail對象就保存在其中。

USE msdb

GO

DECLARE @ProfileName VARCHAR(255)

DECLARE @AccountName VARCHAR(255)

DECLARE @SMTPAddress VARCHAR(255)

DECLARE @EmailAddressVARCHAR(128)

DECLARE @DisplayUser VARCHAR(128)

這裡我建立了ProfileName、AccountName、STMP服務器名稱以及顯示在電子郵件From(郵件來自)框中的地址。

SET @ProfileName = 'DBMailProfile';

SET @AccountName = 'DBMailAccount';

SET @SMTPAddress = 'mail.yoursmtpserver.com';

SET @EmailAddress = '[email protected]';

SET @DisplayUser = 'The Mail Man';

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved