如何設定 SQL Mail

結論

本文說明如何正確設定您的郵件用戶端,讓它能與 SQL Mail 搭配使用。本文也說明設定 SQL Mail 與 Exchange 或網際網路郵件伺服器搭配使用時,可能會遇到的一般問題。

根據您使用的 SQL Server 版本,SQL Mail 和 SQLAgentMail 可以與 Microsoft Exchange Server、Microsoft Windows NT Mail 或郵局通訊協定第 3 版 (POP3) 伺服器連線。

SQL Mail 以支援的郵件伺服器建立用戶端連線,讓 SQL Server 傳送和接收電子郵件。如果要使 SQL Mail 正常運作,您必須在可用且支援的郵件伺服器上擁有郵件帳戶;而且必須在 SQL Server 電腦上,正確安裝和設定與 SQL Server 郵件應用程式發展介面 (MAPI) 相容的郵件用戶端,例如 Microsoft Outlook、Microsoft Exchange 用戶端或 Microsoft Windows Messaging (適用於 Windows NT 4.0)。

SQL Server 郵件的用戶端支援,依照所需的 SQL Server 版本和功能有所不同。

回此頁最上方

SQL Server 6.5 和 SQL Server 7.0

SQL Mail 會建立 Simple MAPI,連線至 Microsoft Exchange Server、Microsoft Windows NT Mail 或郵局通訊協定第 3 版 (POP3) 伺服器。

回此頁最上方

使用 SQLAgentMail 的 SQL Server 7.0

SQLAgentMail 會建立 Simple 或 Extended MAPI,連線至 Microsoft Exchange Server、 Microsoft Windows NT Mail 或郵局通訊協定第 3 版 (POP3) 伺服器。

回此頁最上方

SQL Server 2000

當 SQLAgentMail 建立個別的 Extended MAPI 連線時,SQL Mail 會建立 Extended MAPI 連線至郵件主機。SQL Mail 和 SQLAgentMail 都可以連線至 Microsoft Exchange Server 或郵局通訊協定第 3 版 (POP3) 伺服器。

注意:由於 SQL Server 2000 只提供 Extended MAPI 支援,所以必須使用 Microsoft Outlook 2000 用戶端 (或更新版本)。

如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
281293 (http://support.microsoft.com/kb/281293/ZH-TW/) FIX:SQL Mail 2000 必須使用 Microsoft Outlook 2000 用戶端
在設定 SQL Mail 之前,必須先以郵件用戶端的郵件設定檔進行測試,確認您可以使用該設定檔,從郵件伺服器傳送和接收電子郵件。

警告:由於 MAPI 無法感知叢集的限制,所以在 SQL Server 容錯叢集上使用時無法完全支援 SQL Mail。如果您將 SQL Mail 與叢集搭配使用,SQL Mail 僅能提供「合理的情況下提供協助」,無法保證穩定性或可用性。

如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
298723 (http://support.microsoft.com/kb/298723/) BUG:SQL Mail Not Fully Supported w/Cluster Virtual SQL Servers

回此頁最上方

其他相關資訊

SQL Mail 概觀

SQL Mail 以支援的郵件伺服器建立用戶端連線,讓 SQL Server 傳送和接收電子郵件。SQL Server 6.5 版使用一種郵件處理服務。SQL Server 7.0 和 SQL Server 2000 則使用兩種郵件處理服務:

MSSQLServer:以 Simple MAPI (SQL Server 6.5 和 SQL Server 7.0) 或 Extended MAPI (SQL Server 2000) 處理所有郵件預存程序的郵件。

- 及 -

SQLServerAgent:使用本身的郵件功能,從 SQL Mail 中個別設定和操作,並且使用 Simple 或 Extended MAPI。
「SQL Server 代理程式」郵件功能也被稱為 SQLAgentMail,用以區分 MSSQLServer 提供的 SQL Mail 功能。

SQL Mail 和 SQLAgentMail 會建立 MAPI 連線至郵件主機。SQL Mail 和 SQLAgentMail 都能與 Microsoft Exchange Server 或郵局通訊協定第 3 版 (POP3) 伺服器連線。SQL Server 6.5 和 SQL Server 7.0 的 SQLMail 和 SQLAgentMail 也都能與 Microsoft Windows NT Mail 連線,但是 SQL Server 2000 不支援這項設定。由於 POP3/SMTP 通訊協定的限制和登入問題,Microsoft 建議您使用 Exchange Servers,比較可靠。Microsoft 不支援使用 SQL Mail 與郵件伺服器通訊,例如 Lotus Notes、Lotus cc:Mail 或 Novell GroupWise,除非它們被視為 POP3 伺服器使用。

SQL Mail 是具有郵件功能的應用程式。當您傳送郵件時,SQL Mail 會使用 Mapi32.dll 檔進行 API 呼叫,啟動 Windows Messaging 子系統 (Mapisp32.exe) 的 MAPI 多工緩衝處理程式、傳送郵件,然後關閉這個多工緩衝處理程式。在舊版郵件用戶端中,MAPI 多工緩衝處理程式的設計無法與 NT 服務搭配使用。在舊版 MAPI 多工緩衝處理程式中,SQL Mail 產生的外寄郵件會一直停留在「寄件匣」中,直到開啟郵件用戶端為止。Microsoft Windows NT 4.0 Service Pack 3 已修正這個問題,但由於產品不相容的關係,後續的 NT 4.0 服務套件中不包含這個修正。

如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
159425 (http://support.microsoft.com/kb/159425/) PRB:Message Blocked with SQLMail and Exchange Client
在設定 SQL Mail 時發生問題,可能是因為使用了不正確的 Mapi32.dll 檔案。

回此頁最上方

設定 SQL Mail 之前

SQL Mail 需要郵件連線、信箱、郵件設定檔和用來啟動 SQL Server 的 Windows NT 帳戶。如果您要使用 Exchange 伺服器做為郵件伺服器,這個 Windows NT 帳戶必須是網域帳戶。如果您使用的是 POP3/SMTP 郵件伺服器,這個帳戶可以是本機或網域 NT 帳戶。

基本程序是以啟動 SQL Server 的帳戶登入 Windows NT 伺服器、設定郵件設定檔、測試郵件連線,然後將這個郵件設定檔提供給 SQL Mail。當您選擇設定檔名稱時,請勿包含特殊符號 (例如連字號,井號、句號等等),雖然 Exchange 用戶端 (例如 Outlook) 可能可以使用這些符號,但是 SQL Mail 的 SQL Server 6.5 版無法使用。同樣的,設定檔名稱也不可以超過 32 個字元。

如果要得到最好的結果,請以 Microsoft Exchange Server 傳送和接收 SQL Mail。Microsoft Windows NT Mail 是 Microsoft Windows NT 中舊版的交換郵件程式,無法與 SQL Mail 2000 搭配使用,目前 Microsoft Exchange Server 產品線已提供功能完整的郵件服務。

如果您使用的是協力廠商的郵件伺服器 (例如 Lotus Notes、Lotus cc:Mail、Novell GroupWise 等等),必須將郵件伺服器設定為 POP3 伺服器。Microsoft 無法以原始郵件服務,支援用戶端安裝的協力廠商郵件連接到這些郵件伺服器。某些協力廠商郵件用戶端不支援 SQL Mail 所需的 MAPI。請連絡協力廠商或參閱 http://www.microsoft.com/exchange/default.mspx (http://www.microsoft.com/exchange/default.mspx) 網站,協助您使用它們的郵件用戶端,或協助您取得 Exchange 連接器,整合 Exchange 和您目前的郵件服務提供者。

回此頁最上方

如何使用 Exchange 設定 SQL Mail

1. 在 Microsoft Exchange 伺服器上,設定 MSSQLServer 服務使用的使用者帳戶信箱。這個帳戶必須是網域帳戶。例如,
以下帳戶: DOMAIN1\SQLServerAccount
信箱: SQL1
2. 在 SQL Server 電腦上,以 MSSQLServer 服務所用的同一個使用者帳戶登入 Windows NT。

在前一個範例 (步驟 1) 中,這個帳戶是:
DOMAIN1\SQLServerAccount
3. 在 SQL Server 電腦上安裝 Exchange 用戶端。執行 SQL Server 6.5 或 SQL Server 7.0 時,這可以當做隨附於 Microsoft Exchange Server、Microsoft Outlook 98 或 Microsoft Outlook 2000 的用戶端應用程式。如果加入 Outlook 2000 的 Outlook 安全性補充程式避免散佈電子郵件病毒,將會導致 SQL Mail 6.5 或 7.0 停止回應 (當機)。因為 Outlook 2002 也包含這個安全性功能,所以也會導致 SQL Mail 6.5 或 7.0 當機 (請參閱本文稍後所示的<Outlook 2000 用戶端>一節,取得發生原因的詳細解釋)。

執行 SQL Server 2000 時,郵件用戶端必須是 Microsoft Outlook 2000 或 Outlook 2002 用戶端。因為 SQL Mail 2000 會建立 Extended MAPI 連線至該郵件伺服器,所以不會被 Outlook 安全性功能所影響。如果使用 SQL Server 2000 Service Pack 1,您也可以使用 Outlook 98。

如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
281293 (http://support.microsoft.com/kb/281293/ZH-TW/) FIX:SQL Mail 2000 需要使用 Microsoft Outlook 2000 用戶端
4. 啟動 Exchange 用戶端,並將用戶端設定為連線至 Microsoft Exchange Server。您必須提供 Exchange 伺服器上的 Exchange 伺服器名稱和信箱。完成設定之後,請確認您可以相互傳送和接收郵件。然後您就可以關閉用戶端。
5. 在 [控制台] 中啟動郵件應用程式。按一下 [顯示設定檔] 找出步驟 4 中設定的設定檔名稱。如果這個設定檔名稱超過 32 個字元或包含異常字元 (句號、連字號、井號等等),請將設定檔的名稱變更為少於 32 個字元並移除異常字元 (可以使用空格)。
6. 在 [控制台] 中,按一下 [服務],然後確認 MSSQLServer 服務已設定在步驟 2 中用來登入 Windows NT 的相同帳戶下執行。如果必要的話,請啟動或重新啟動 MSSQLServer 服務。在 SQL Server 7.0 和 SQL Server 2000 中,如果您要在電腦上使用「全文檢索」,請使用 SQL Enterprise Manager 變更任何啟動帳戶。
7. 將 SQL Mail 設定為您在步驟 5 中使用的設定檔名稱。SQL Mail 會使用 MSSQLServer 服務設定的帳戶和密碼登入 Exchange 伺服器。

注意:如果無法辨識您所輸入的設定檔名稱,或 SQL Server 7.0 或 SQL Server 2000 的下拉式清單方塊中未出現設定檔,表示您已在「本機系統」帳戶下啟動 MSSQLServer 服務。請將服務變更為從網域帳戶下啟動,停止並重新啟動 SQL Server,然後再次嘗試設定郵件設定檔。
8. 啟動 SQL Mail。如果成功啟動 SQL Mail,SQL Mail 圖示就會變成綠色 (使用 SQL Server 2000 時,這不是必要步驟,因為當您第一次嘗試傳送郵件時,會自動啟動 SQL Mail)。測試 SQL Mail,方法是開啟查詢視窗,並使用 xp_sendmail 傳送電子郵件給自己。如果您使用的是 SQL Server 7.0 或 SQL Server 2000,也必須使用相同的設定檔來設定 SQLAgentMail。您可以傳送郵件給作業人員,測試 SQLAgentMail。

回此頁最上方

使用網際網路郵件伺服器設定 SQL Mail

警告:除非您可以保證不需要重新驗證您的郵件登入,就可以 100% 連線到網際網路郵件伺服器,否則無法連線時 SQL Mail 會當機,強制您停止並重新啟動 SQL Server。使用網際網路郵件伺服器不是建議的解決方案,但在某些情況中這可能是唯一的替代方法。

使用網際網路郵件伺服器 (POP3/SMTP 伺服器) 設定 SQL Mail 的程序,與使用 Exchange Server 設定 SQL Mail 的程序相似:
1. 在 POP3 伺服器上 (用於內送的電子郵件),設定 SQL Mail 所用的使用者帳戶信箱。您必須在 POP3 郵件伺服器上擁有一個帳戶 (即使 SQL Mail 從來不需要處理任何內送郵件),因為郵件用戶端的設計是在傳送外寄郵件之前先檢查內送郵件。如果 SMTP 伺服器與 POP3 伺服器不同,您也必須在 SMTP 伺服器上為外寄郵件設定信箱。
2. 在 SQL Server 電腦上安裝網際網路郵件用戶端。當您使用 SQL Mail 6.5 或 SQL Mail 7.0 時,Microsoft 唯一支援的網際網路郵件用戶端應用程式為 Microsoft Windows Messaging (由 Windows NT 4.0 所提供)、Microsoft Outlook 98 和 Microsoft Outlook 2000。加入 Outlook 2000 的 Outlook 安全性補充程式避免散佈電子郵件病毒,會導致 SQL Mail 6.5 或 7.0 當機。如果您要使用 Outlook 2002 傳送任何非 Exchange 訊息,必須在伺服器上持續執行 Outlook 用戶端。

當您使用 SQL Mail 2000 時,唯一可以使用的網際網路郵件用戶端應用程式為 Microsoft Outlook 2000。如果您希望 Outlook 用戶端在伺服器上一直維持開啟的狀態,也可以使用 Outlook 2002。如果使用 SQL Server 2000 Service Pack 1,您也可以使用 Outlook 98。

如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
281293 (http://support.microsoft.com/kb/281293/ZH-TW/) FIX:SQL Mail 2000 需要使用 Microsoft Outlook 2000 用戶端
由於 Microsoft Outlook Express 不會建立郵件設定檔,因此 Outlook Express 不能與 SQL Mail 搭配使用。
3. 以啟動 SQL Server 的 Windows NT 帳戶,登入 Windows NT 伺服器。啟動網際網路郵件用戶端,設定使用網際網路郵件服務的設定檔,並連線至 POP3 (內送) 和 SMTP (外寄) 伺服器。存取 POP3/SMTP 伺服器的帳戶名稱和密碼,就是您在步驟 1 中建立的郵件帳戶 (這個帳戶不必和啟動 SQL Server 的帳戶相同)。完成設定之後,請確認您可以相互傳送和接收郵件。接下來就可以關閉郵件用戶端應用程式。

設定網際網路郵件服務會建立一個「個人存放區」檔案 (.pst),儲存從 POP3 伺服器下載的郵件訊息。使用此郵件設定檔的所有服務都會用到這個 .pst 檔,如果 SQL Mail 和 SQL Agent Mail 都使用相同郵件設定檔的話,就會造成衝突。 如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
313969 (http://support.microsoft.com/kb/313969/) PRB:The Error 'Cannot Open .pst File' Occurs When You Use a POP3 Server Profile with SQL Mail
如果您指定 .pst 檔的位置,請勿使用網路共用。如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
297019 (http://support.microsoft.com/kb/297019/) OL2000:無法透過 LAN 或 WAN 連結支援 Outlook .pst 檔案的原因
4. 在 [控制台] 中,按一下 [郵件] 開啟郵件應用程式。按一下 [顯示設定檔] 找出前一個步驟中設定的設定檔名稱 (例如,「網際網路設定」)。使用 Exchange 伺服器設定 SQL Mail 時,同樣受到設定檔名稱長度和異常字元的限制。
5. 在 [控制台] 中,按一下 [服務],確認已將 MSSQLServer 服務設定為在設定郵件設定檔的相同帳戶下執行。如果必要的話,請啟動或重新啟動 MSSQLServer 服務。
6. 設定 SQL Mail 使用步驟 4 中找到的設定檔名稱。

注意:如果無法辨識您所輸入的設定檔名稱,或是 SQL Server 7.0 或 SQL Server 2000 下拉式清單方塊中未出現設定檔,表示您已在「本機系統」帳戶下啟動 MSSQLServer 服務。請將服務變更為從有效的 Windows NT 帳戶下啟動,停止並重新啟動 SQL Server,然後再次嘗試設定郵件設定檔。
7. 啟動 SQL Mail。如果成功啟動 SQL Mail,SQL Mail 圖示就會變成綠色 (使用 SQL Server 2000 時,這不是必要步驟,因為當您第一次嘗試傳送郵件時,會自動啟動 SQL Mail)。測試 SQL Mail,方法是開啟查詢視窗,並使用 xp_sendmail 傳送電子郵件給自己。如果您使用的是 SQL Server 7.0 或 SQL Server 2000,也必須使用相同的設定檔來設定 SQLAgentMail。您可以傳送郵件給作業人員,測試 SQLAgentMail。
警告:如果您嘗試使用 SQL Mail 建立 POP3/SMTP 郵件伺服器的連線,您「必須」使用下列步驟重覆連線和傳送郵件:
1. 按一下啟動郵件用戶端的圖示。
2. 將郵件傳送到設定檔中列出的相同電子郵件位置,這樣您就可以同時測試傳送和接收功能。
3. 結束郵件用戶端。
4. 重覆步驟 1 至 3 數次,模擬預期的電子郵件傳輸。
注意:如果在執行上述步驟的過程中出現任何的對話方塊,要求回應,例如,按一下 [確定] 以便登入或提示您輸入密碼,則網際網路郵件連線無法和 SQL Mail 搭配使用。您必須有 100% 的網際網路郵件連線能力搭配 SQL Mail 使用,否則就無法使用 SQL Mail,而且可能必須重新啟動伺服器以解決問題。

原因是存取 POP3 帳號時,SQL Mail 無法支援重覆嘗試連線。如果 SQL Mail 第一次嘗試連線至 POP3 伺服器失敗時,「網際網路郵件連接器」通常會開啟一個對話方塊,提示您按一下 [確定] 進行重新嘗試。如果發生上述情況,由於 SQL Mail 是在 MSSQLServer 服務下執行,則不會出現重新嘗試連線的對話方塊,系統會在此時停止運作。您可能必須停止 Mapisp32.exe 應用程式,甚至重新啟動 Windows NT 電腦,才能解決這個問題。

回此頁最上方

Windows Messaging 用戶端

這個用戶端可以與 SQL Server 6.5 和 7.0 搭配使用,但無法與 SQL Server 2000 搭配使用。Microsoft Windows Messaging 郵件用戶端已隨附於 Windows NT 4.0,並支援 Microsoft Mail 和網際網路郵件 (POP3/SMTP)。這個程式有一個已知問題,除非開啟 Windows Messaging 用戶端,否則由 SQL Mail 傳送的外寄郵件會停留在「寄件匣」。導致這個問題的原因,是因為 MAPI 多工緩衝處理程式的設計不是在 Windows NT 服務內進行呼叫。這個問題已在 Microsoft Windows NT 4.0 Service Pack 3 中進行修正,但這個修正程式不包括在較新的 Windows NT Service Pack 組建中,因為它會造成產品的不相容。

如果您在套用 Service Pack 3 之前先安裝 Windows Messaging,就可以修正這個問題。如果您在套用 Service Pack 3 之後安裝或重新安裝 Windows Messaging,您必須連絡「Microsoft 技術支援處」取得 Mapi32.dll 檔的修正程式。 如果要判斷您是否需要修正程式,請找出電腦上的 Mapi32.dll 檔,並檢查該檔案的日期和大小。例如,如果您的 Mapi32.dll 日期為 10/14/1996,而且檔案大小為 621 KB (檔案版本 4.0),該檔案版本就會導致外寄的 SQL Mail 停留在「寄件匣」中。如果這個 Mapi32.dll 檔案的日期為 5/1/1997,而且檔案大小為 701 KB (也就是在 Windows NT 4.0 Service Pack 3 中包含的修正程式日期和檔案大小),這就是正確版本的檔案 (也是版本 4.0)。因為版本號碼是相同的,所以在判斷您是否具備正確的 Mapi32.dll 檔時,使用這個檔案的大小或日期會比使用版本號碼可靠。

Windows Messaging 並未包含在 Microsoft Windows 2000 中,所以如果您使用的是 Windows 2000,必須購買 Microsoft Outlook 才能使用可靠的 SQL Mail。

回此頁最上方

Outlook 97 或 Outlook 98 用戶端

Outlook 98 用戶端可以和 SQL Server 6.5 和 7.0 搭配使用,但無法與 SQL Server 2000 搭配使用,除非您已套用 SQL Server 2000 Service Pack 1。

如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
281293 (http://support.microsoft.com/kb/281293/ZH-TW/) FIX:SQL Mail 2000 需要使用 Microsoft Outlook 2000 用戶端
Microsoft Outlook 支援 Exchange 郵件和網際網路郵件 (POP3/SMTP)。Outlook 97 已隨附於 Microsoft Office 97,並且會安裝一個 Mapi32.dll 檔,安裝日期為 12/20/96,檔案大小為 714 KB。由於 Outlook 97 的設計並非在 Windows NT 服務內進行使用,如果伺服器上未開啟 Outlook 用戶端,Mapi32.dll 檔 (版本 4.00.993.3) 會導致來自 SQL Mail 的外寄電子郵件被停留在「寄件匣」中。如果要解決這個問題,請升級至 Outlook 98 或 Outlook 2000。

Outlook 98 是獨立產品,用以取代 Outlook 97。當您安裝 Outlook 98 時,請選取 [公司或工作群組] 選項。請勿選取 [僅 Internet] 選項。[僅 Internet] 選項僅會安裝 Mapi32.dll 檔的虛設常式 (檔案大小為 32,日期為 3/26/1998,版本 5.5.2163.0),這個檔案版本無法與 SQL Mail 搭配使用。對於搭配 SQL Mail 使用的 Outlook 98,正確的 Mapi32.dll 版本為 5.5.2174.0 或更新 (日期為 3/26/1998,檔案大小為 857 KB)。[公司或工作群組] 選項仍可讓您透過 POP3/SMTP 網際網路郵件伺服器使用 Outlook 98。如果您已透過 [僅 Internet] 選項安裝 Outlook 98,請使用 [控制台] 中的 [新增/移除程式] 重新執行 Outlook 98 設定,然後重新安裝 Outlook 98 元件。您還必須重新建立郵件設定檔。

Outlook 98 的 [公司或工作群組] 選項,不支援「網際網路訊息存取通訊協定」(IMAP) 郵件。如果您需要 IMAP 支援,您必須設定 Outlook Express (除了 Outlook 之外) 傳送和接收 IMAP 郵件。使用 Outlook Express 來傳送和接收 IMAP 郵件,並提供 SQL Mail 的 Outlook 郵件設定檔。

回此頁最上方

Outlook 2000 用戶端

這個用戶端可以與 SQL Server 6.5、SQL Server 7.0 和 SQL Server 2000 搭配使用。

Microsoft Outlook 2000 支援 Exchange 郵件和網際網路郵件 (POP3/SMTP),並隨附於 Microsoft Office 2000。MAPI 的結構到了 Outlook 2000 已完全改變。Outlook 2000 只會使用一個 MAPI 虛設常式 (檔案大小為 128 KB),不會使用完整的 MAPI 程式庫。此模組會依照 Window NT 電腦上安裝的語言 (例如,\Program Files\Common Files\System\Mapi\1033\NT 資料夾中的 Msmapi32.dll 檔案),指向要使用的正確 MAPI 程式庫檔案。如果使用不同版本的 Mapi32.dll 虛設常式取代現有的虛設常式,會使 Outlook 2000 當機,您必須執行 Fixmapi.exe 來更正這個問題。

如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
195795 (http://support.microsoft.com/kb/195795/) OL2000:(CW) Outlook 組態問題疑難排解

您也必須使用 [公司或工作群組] 選項來安裝 Outlook 2000。如果要確認您是否已正確安裝 Outlook 2000,請在 Outlook 2000 的 [工具] 功能表上,按一下 [選項]。依照 Outlook 目前的設定,按一下 [郵件服務] 索引標籤或 [郵件傳送] 索引標籤。您會看到 [重新設定郵件支援] 命令按鈕。如果您按一下 [重新設定郵件支援],會開啟一個對話方塊。如果尚未選取 [公司或工作群組] 選項,請按一下選取這個選項,Outlook 2000 就會自行重新設定,不會要求您移除並重新安裝該程式。但是,您必須重新建立郵件設定檔。

注意:如果您進行變更,而且選取了 [公司或工作群組] 選項,那麼您必須重新啟動 SQL Server,變更才會生效。

在您安裝 Outlook 2000 之後,應該至少有兩個 Mapi32.dll 檔,其中一個日期為 1/14/1999,版本為 1.0.2536.0 的檔案會位於 \Winnt\System32 目錄中 (用於向後相容具有郵件功能的應用程式,例如 SQL Mail,但 Outlook 2000 不會使用這個檔案),另一個日期為 1/26/1999,版本為 1.0.2518.0 的檔案會位於 \Program Files\Common Files\System\Mapi\1033\NT 目錄中 (由 Outlook 2000 使用)。如果 \Winnt\System32 目錄中沒有 Mapi32.dll 檔,Outlook 2000 可能可以正常運作,但您將無法啟動 SQL Mail。如果發生這種情況,請將 Mapi32.dll 檔從 \Program Files 資料夾複製至 \Winnt\System32 資料夾。

至於電子郵件病毒所造成的威脅,Microsoft 已發佈 Outlook 2000 的安全性補充程式,當非 Outlook 程式嘗試傳送郵件時,這個程式會通知使用者,並要求使用者按一下 [是] 或 [否] 指定是否允許傳送。因為 SQL Mail 是透過 SQL Server 服務來執行,所以這個安全性彈出式畫面會傳送至虛擬桌面,使用者不會看見這個畫面。因為不傳送的郵件會擱置使用者互動,最後會造成 SQL Mail 當機。

您可以透過 SQL Server 6.5 或 SQL Server 7.0 的 SQL Mail 看見這個行為,因為它們會建立 Simple MAPI 連線至郵件用戶端,這樣會觸發安全性彈出式畫面。因為 SQL Server 2000 的 SQL Mail 會進行 Extended MAPI 連線,所以會略過安全性彈出式畫面。

如果您的 Outlook 2000 版本是 9.0.0.4201 或更新 (如 Outlook 2000 的「關於 Microsoft Outlook」中所示),表示您已安裝 Outlook 安全性更新程式。請連絡您的 Exchange 管理員,詢問是否可能放寬預設的安全性限制。

如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
263297 (http://support.microsoft.com/kb/263297/) OL2000:Admin Info About the Outlook E-mail Security Update

回此頁最上方

Outlook 2002 用戶端

此用戶端可以與 SQL Server 2000 搭配使用。

Microsoft Outlook 2002 支援 Exchange 郵件和網際網路郵件 (POP3/SMTP),並隨附於 Microsoft Office XP 中。Outlook 2002 採用統一設定,並未提供「公司或工作群組」或「僅 Internet 郵件」的個別設定選項。Outlook 2002 也包含首度出現在 Outlook 2000 安全性補充程式中的安全性功能,用以防範電子郵件病毒。

在 Outlook 2002 中,會在處理時移動 MAPI 多工緩衝處理程式邏輯,所以傳送任何非 Exchange 訊息 (例如傳送至網際網路郵件伺服器) 時,伺服器電腦上必須持續執行 Outlook 用戶端。如果未持續開啟 Outlook 用戶端,外寄訊息就會停留在「寄件匣」中,直到開啟 Outlook 用戶端時才會被傳送。將訊息傳送至 Exchange 伺服器時不會出現這個行為。

Microsoft Outlook 2002 電子郵件安全性功能會提供額外等級的防護,以防範惡意電子郵件訊息。SQL Mail 的重要功能是確認電子郵件訊息的自動傳送。因為安全性功能是由 Outlook 2002 的 Simple MAPI 連線所觸發,因此在 SQL Server 6.5 和 SQL Server 7.0 上使用 SQL Mail 時,會因為安全性彈出式畫面造成 SQL Mail 當機。請連絡您的 Exchange 管理員,詢問是否可能放寬預設的安全性限制。

如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
290499 (http://support.microsoft.com/kb/290499/) OL2002:關於電子郵件安全性功能的開發者資訊

回此頁最上方

Internet Explorer 和 Outlook Express 用戶端

SQL Mail 不支援和 Outlook Express 搭配使用,因為 SQL Mail 需要郵件設定檔,但是 Outlook Express 不會建立這個檔案。即使您沒有明確地將 Outlook Express 設定為預設的郵件用戶端,安裝或升級 Internet Explorer 可能會將 Outlook Express 設定為預設的郵件用戶端。

在某些版本的 Internet Explorer 或 Outlook Express (例如 Internet Explorer 5.0) 上,SQL 伺服器會忽略提供的郵件設定檔,並嘗試使用預設的郵件用戶端。例如,如果預設的郵件用戶端是 Outlook Express,SQL Mail 可能會忽略提供的 Outlook 郵件設定檔 (即使已使用 SQL Mail 的 [測試] 按鈕成功測試該設定檔),並嘗試以 Outlook Express 動。如果沒有將 Outlook Express 設定為連接 POP3/SMTP 伺服器,SQL Mail 就會停止回應,或報告無法連接郵件伺服器的相關錯誤訊息。如果您嘗試透過 SQL Enterprise Manager 啟動 SQL Mail,而它停止回應時,您可能必須在 SQL Enterprise Manager 上以「工作管理員」執行 [結束工作],以解決這個問題。

如果要判斷您使用的預設郵件用戶端,請依照下列步驟執行:
1. 開啟 [控制台],並按兩下 [網際網路選項]。
2. 按一下 [程式集] 索引標籤,並檢查是否已選取 Outlook Express、Netscape Messenger 或其他郵件用戶端。從下拉式清單方塊中,選取適用於電子郵件的 Microsoft Outlook (如果有安裝的話)。
3. 嘗試啟動 SQL Mail 之前,請先停止並重新啟動 SQL 伺服器。
如果您不是使用 Internet Explorer 5.0,[網際網路選項] 對話方塊的 [程式集] 索引標籤中的選項會有些不同。如果您使用的不是 Microsoft 瀏覽器,這些選項會非常不同。

除了將 Outlook Express 設定為預設郵件用戶端,Internet Explorer 安裝可能也會將使用中的 Mapi32.dll 檔重新命名為 Mapi32x.dll,以安裝 Outlook Express 的 MAPI 虛設常式。如果您稍後嘗試啟動 SQL Mail,當它嘗試使用此 MAPI 檔時會失敗。

如果在安裝或升級 Internet Explorer 之前,您已擁有使用中的 SQL Mail 設定,請搜尋 \Winnt\System32 目錄,查看其中是否包含 Mapi32.dll 和 Mapi32x.dll。如果這兩個檔案的大小明顯不同 (例如 Mapi32.dll 為 128 KB,而 Mapi32x.dll 為 701 KB),請將這兩個檔案的名稱交換 (對調),然後再嘗試啟動 SQL Mail。

回此頁最上方

其他相關資訊

如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
311231 (http://support.microsoft.com/kb/311231/) INF:Frequently Asked Questions - SQL Server - SQL Mail
315886 (http://support.microsoft.com/kb/315886/) INF:Common SQL Mail Problems
如需詳細資訊,請造訪下列 Microsoft 網站:
Support WebCast:Troubleshooting Microsoft SQL Mail
http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com/servicedesks/webcasts/wc091301/wcblurb091301.asp (http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com/servicedesks/webcasts/wc091301/wcblurb091301.asp)

如需詳細資訊,請參閱下列手冊:
Microsoft Corporation Microsoft SQL Server 7.0 System Administration Training Kit (http://go.microsoft.com/fwlink/?LinkId=8381 ) Microsoft Press, 2001

回此頁最上方


這篇文章中的資訊適用於:
Microsoft SQL Server 6.5 Standard Edition
Microsoft SQL Server 7.0 Standard Edition
Microsoft SQL Server 2000 Standard Edition

申明

非源创博文中的内容均收集自网上,若有侵权之处,请及时联络,我会在第一时间内删除.再次说声抱歉!!!

博文欢迎转载,但请给出原文连接。

原文地址:https://www.cnblogs.com/Athrun/p/830744.html