文章編號: 311231 - 上次校閱: 2007年1月23日 - 版次: 6.1

常見問題集 - SQL Server - SQL Mail

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。
全部展開 | 全部摺疊

結論

本文將會為您解答一些有關 SQL Mail 之設定和功能的常見問題。本文將不介紹如何設定 SQL Mail 以及如何疑難排解 SQL Mail 相關問題。 如需有關如何疑難排解 SQL Mail 常見問題的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
315886? (http://support.microsoft.com/kb/315886/ ) INF:一般 SQL Mail 問題
大部分的 SQL Mail 相關問題都是因為不適當的設定所造成的。 如需有關如何正確設定 SQL Mail 的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
263556? (http://support.microsoft.com/kb/263556/ ) INF:如何設定 SQL Mail
本文假設您已具備「Microsoft 知識庫」文件 Q263556 所提供背景資訊的實際知識。

除非另有說明,否則本文中關於 SQL Mail 的註解也適用於 SQL Agent Mail。

其他相關資訊

下面是 Microsoft SQL Server 技術支援工程師被問到有關 SQL Mail 的常見問題。這些問題並不是依照發生頻率的高低來排列,而是將類似的問題分為一類。


問 1為什麼我必須在我的 SQL Server 電腦上安裝郵件用戶端,才可以使用 SQL Mail 呢?

答 1: SQL Mail 是 Mail Application Programming Interface (MAPI) 應用程式,它需要 MAPI 傳送郵件子系統,才能傳送郵件。當您安裝 MAPI 用戶端時,便會安裝 MAPI 子系統。Microsoft Windows NT 4.0 提供了名為 Windows Messaging 的 MAPI 用戶端;然而,Microsoft Windows 2000 並不提供 MAPI 用戶端。 如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
238085? (http://support.microsoft.com/kb/238085/ ) INFO: Windows 2000 Does Not Install MAPI 1.0 Subsystem
要提供 MAPI 子系統給 SQL Mail 使用的最簡單方式,就是安裝 MAPI 郵件用戶端,例如 Microsoft Outlook。郵件用戶端也會提供郵件設定檔的設定機制,讓您可以接著指派給 SQL Mail。此郵件設定檔會提供 SQL Mail 在連線到郵件伺服器進行郵件傳送和接收時,所需要使用的資訊。

問 2:我可以搭配哪些郵件用戶端來使用 SQL Mail 呢?

答 2:您可以搭配使用 SQL Mail 的郵件用戶端要視 SQL Server 的版本和作業系統而定。如果您是使用 Windows NT 4.0,您可以透過 Windows NT 4.0 隨附的 Windows Messaging 用戶端,搭配使用 SQL Server 6.5 和 SQL Server 7.0 的 SQL Mail。此 Windows Messaging 用戶端只能使用網際網路郵件伺服器,而不能使用 SQL Server 2000。 如需有關 SQL Server 2000 郵件用戶端選項的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
281293? (http://support.microsoft.com/kb/281293/ ) FIX:SQL Mail 2000 必須使用 Microsoft Outlook 2000 用戶端
Microsoft Outlook 98 可搭配使用 SQL Server 6.5 和 SQL Server 7.0。Outlook 98 只有在您已套用 Microsoft SQL Server 2000 Service Pack 1 時,才會搭配使用 SQL Server 2000。Outlook 98 會使用 Exchange 伺服器或網際網路郵件伺服器。您必須先為 Outlook 98 安裝 [公司或工作群組] 選項,才可讓它搭配 SQL Mail 使用。在「僅網際網路郵件」(IMO) 模式中安裝的 MAPI 子系統,是可為 Microsoft Outlook 的基本功能提供最小 MAPI 支援的虛設常式,且無法搭配 SQL Mail 使用。

Microsoft Outlook 2000 是搭配使用 SQL Server 6.5、SQL Server 7.0 和 SQL Server 2000。Outlook 2000 會使用 Exchange 伺服器或網際網路郵件伺服器。您必須先為 Outlook 2000 安裝 [公司或工作群組] 選項,才可讓它搭配 SQL Mail 使用。在「僅網際網路郵件」(IMO) 模式中安裝的 MAPI 子系統,是可為 Microsoft Outlook 的基本功能提供最小 MAPI 支援的虛設常式,且無法搭配 SQL Mail 使用。 如需有關 Outlook 的 IMO 選項的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
252720? (http://support.microsoft.com/kb/252720/ ) MAPI and CDO are not supported in Outlook IMO mode
Microsoft Office XP 隨附的 Microsoft Outlook 2002 是搭配使用 SQL Server 2000。Outlook 2002 和 Outlook 更新版本內建的安全性功能會造成 SQL Mail 停止回應 SQL Server 6.5 和 SQL Server 7.0。如果要以 Outlook 2002 或較新版本來搭配使用 SQL Mail 和 SQL Server 2000,您就應該要安裝 Exchange 伺服器。我們不建議您使用 Outlook 2002 或較新版本來搭配使用 SQL Mail 和簡易郵件傳送通訊協定 (SMTP) 或郵局通訊協定第 3 版 (POP3) 等網際網路郵件伺服器。請參閱下列「Microsoft 知識庫」文件中的<Outlook 2002 用戶端>一節:
263556? (http://support.microsoft.com/kb/263556/ ) INF:如何設定 SQL Mail


問 3:我可以搭配 Outlook Express 來使用 SQL Mail 嗎?

答 3:因為 Outlook Express 會安裝簡易的 MAPI 傳送郵件子系統,但是它並無法提供郵件設定檔的建立機制,所以它無法搭配使用 SQL Mail。

問 4:我要如何在執行 Microsoft Small Business Server 時建立郵件設定檔呢?

答 4:Small Business Server 是特殊案例,因為您的 Exchange 伺服器和 SQL Server 位在相同電腦上。 如需有關如何在 Small Business Server 上使用 SQL Mail 的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
304967? (http://support.microsoft.com/kb/304967/ ) 如何設定 SQL Server 在 Small Business Server 2000 上傳送電子郵件
問 5:我可以搭配 Lotus Notes 或 Novell Groupwise 等郵件伺服器來使用 SQL Mail 嗎?

答 5:您可以搭配 Lotus Notes 或 Novell Groupwise 等協力廠商郵件伺服器來使用 SQL Mail;但是這些協力廠商郵件伺服器必須設定為網際網路郵件伺服器,才能支援這項設定。

雖然 Microsoft Outlook 用戶端可能可以設定成和協力廠商郵件伺服器搭配使用,但是這些郵件伺服器所隨附的電子郵件用戶端不一定會支援搭配使用 SQL Mail 。這些電子郵件用戶端會提供自己的 MAPI 傳送郵件子系統實作,而且尚未測試和 SQL Mail 搭配使用。

問 6:如果 SQL Mail 永遠不接收郵件,是否需要安裝 POP3 伺服器呢?

答 6:除非您已經用 Exchange 伺服器為內送電子郵件設定 SQL Mail,否則即使該伺服器永遠不會收到郵件,您也必須安裝正常執行的 POP3 伺服器。這是因為 Microsoft Outlook 在傳送外寄電子郵件之前,會先檢查 POP3 內送電子郵件伺服器。如果沒有安裝有效的 POP3 內送郵件伺服器,外寄電子郵件可能會延遲、永遠不傳送或是 SQL Mail 會停止回應 (擱置)。

問 7:我可以使用自己的 Yahoo! 或 Hotmail 帳戶作為 POP3 伺服器嗎?

答 7:Yahoo!Mail 和 Hotmail 等網路郵件服務不能做為 POP3 伺服器。將這類服務用於商業用途,也可能會違反其使用服務同意合約。

您最好也不要使用像 MSN 這類由網際網路服務提供者 (ISP) 提供的 POP3 帳戶。如果 SQL Mail 因故無法連線到 POP3 伺服器,SQL Mail 就會停止回應,而且您必須先停止並重新啟動 SQL Server,才可以再進行郵件傳送。無法受您控制的郵件伺服器可能會隨時因為進行維護而出現無法使用情形,或是因為網際網路速度變慢而造成無法存取。

比較好的解決方法,就是在您的 SQL Server 電腦上安裝 POP3 伺服器,並為它設定一個郵件帳戶,這樣您就擁有本機 POP3 伺服器以及確定的連線。POP3 和 SMTP 通訊協定屬於公用網域,所以,您可以透過網際網路取得支援這些通訊協定的郵件伺服器,進行合理價錢或是免費的安裝。Microsoft 並不保證某特定網際網路郵件伺服器優於其他伺服器,也不保證支援網際網路郵件伺服器的安裝或管理。

問 8:如果我不要在 SQL Server 電腦上安裝 Microsoft Outlook,那麼我應該如何使用 SQL Mail 呢?

答 8:如果您正在執行 Windows NT 4.0,您可能可以使用 Windows Messaging,視您的 SQL Server 版本而定。請參閱先前有關可搭配 SQL Mail 使用之郵件用戶端的問題解答,瞭解 Windows Messaging 用戶端的限制。

如果您正在執行 Windows 2000,就必須在您的 SQL Server 電腦上安裝 Microsoft Outlook 用戶端。

您也可以不使用 SQL Mail 來傳送郵件,而是透過 CDO for NT Server (CDONTS) 或 CDO for Windows 2000 (CDOSYS) 和 SQL Server OLE Automation 預存程序,從 Transact-SQL 批次來傳送郵件。 如需有關如何使用 CDO 建立郵件程序的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
312839? (http://support.microsoft.com/kb/312839/ ) 如何不使用 SQL Server 中的 SQL Mail 來傳送電子郵件
問 9:如果我有安裝 Microsoft Exchange,我還需要使用 Outlook 嗎?

答 9:Outlook 提供的用戶端 MAPI,不一定都可適用於像 SQL Server 這類的伺服器端應用程式。Exchange Server 所隨附的伺服器端 MAPI 較適用於 Outlook 所隨附的用戶端 MAPI。可惜的是,安裝這種 Exchange MAPI 並不能提供建立 SQL Mail 所需郵件設定檔的功能。如果您要使用 Exchange 伺服器端 MAPI,您仍可透過一些技巧來建立郵件設定檔。 如需有關如何使用 Exchange 伺服器端 MAPI 來建立郵件設定檔的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
306962? (http://support.microsoft.com/kb/306962/ ) How to create MAPI profiles without installing Outlook
您並不需要為了安裝伺服器端 MAPI 而在 SQL Server 電腦上安裝 Exchange Server。您只需要安裝 Microsoft Exchange 系統管理員。您也必須新增 Exchange 服務,才可以建立設定檔。 如需有關如何新增 Exchange 服務的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
294470? (http://support.microsoft.com/kb/294470/ ) How to add entries for Exchange services to Mapisvc.inf
問 10:我可以使用 SQL Mail 來傳送 HTML 郵件嗎?

答 10:由於 MAPI 的限制,所以您無法使用 SQL Mail 經由目前版本的 SQL Server 來傳送 HTML 格式郵件。 如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
268440? (http://support.microsoft.com/kb/268440/ ) INFO: MAPI Is Not Suitable for HTML Messages
如果您需要傳送 HTML 格式郵件,您可能會希望考慮編寫使用 Collaboration Data Objects (CDO) 的預存程序來傳送郵件。 如需有關如何使用 CDO 建立郵件程序的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
312839? (http://support.microsoft.com/kb/312839/ ) 如何不使用 SQL Server 中的 SQL Mail 來傳送電子郵件
問 11:為什麼我沒有選項可以啟動 SQL Server 2000 中的 SQL Mail?

答 11:目前沒有提供選項來手動啟動 SQL Server 2000 中的 SQL Mail,或是在 SQL Server 啟動時自動啟動 SQL Mail。SQL Mail 會在您第一次傳送 SQL Mail 訊息時自動啟動。 如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
293443? (http://support.microsoft.com/kb/293443/ ) INF: The Autostart SQL Mail Option Does Not Appear in the SQL Enterprise Manager
使用 xp_startmailxp_stopmail 延伸預存程序來啟動和停止 SQL Mail 可能會導致記憶體遺漏,因此 Microsoft 不建議您使用這些預存程序,除非您已套用 SQL Server 2000 Service Pack 2。 如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
300414? (http://support.microsoft.com/kb/300414/ ) FIX: SQL Mail Operations May Lead to Failures and Memory Leaks
問 12:為什麼我需要使用網域帳戶來啟動 SQL Server?

答 12:只有在使用 Exchange Server 時,才需要使用網域帳戶來啟動 SQL Server。SQL Mail 必須使用 Windows 驗證來連線到 Exchange Server,才能避免伺服器要求使用者認證。完成這項操作的最佳方式,就是使用能夠登入本機 SQL Server 電腦和遠端 Exchange Server 電腦的網域帳戶。

如果是使用網際網路郵件伺服器,您就必須在設定郵件設定檔時,提供使用 POP3 伺服器時的帳戶名稱和密碼。因為這是在登入 POP3 伺服器時唯一要進行的驗證,所以您不需要從網域帳戶來啟動 SQL Server 服務。SMTP 伺服器通常不會要求帳戶和密碼。

如果您計劃要使用 SQL Mail,就不應該從本機系統帳戶來啟動 SQL Server,因為您無法建立郵件設定檔和本機系統帳戶的關聯。

問 13:我需要為 SQL Mail 和 SQL Agent Mail 使用相同的設定檔嗎?

答 13:郵件設定檔會與特定的 Windows 登入帳戶產生關聯。如果您在設定檔中設定網際網路郵件服務,系統就會在預設位置建立「個人存放區」檔案 (.pst) 來儲存從 POP3 伺服器下載的郵件訊息。任何使用這個郵件設定檔的服務都可以使用這個 .pst 檔案,但如果 SQL Mail 及 SQL Agent Mail 兩者使用相同的郵件設定檔,則會產生衝突。

如果是設定郵件設定檔配合 Exchange 服務使用,通常就不會使用 .pst 檔案,因為 Exchange 郵件會保留在 Exchange 伺服器上。在這種情況下,您就可以為 SQL Mail 和 SQL Agent Mail 使用相同的郵件設定檔。然而,如果您有建立 .pst 檔案,一次就只能由一個使用該郵件設定檔的服務來存取此 .pst 檔案。如果您要在郵件設定檔中使用 .pst 檔案,您就要為 SQL Mail 和 SQL Agent Mail 使用不同的郵件設定檔。如需詳細資訊,請參閱 q313969 (請插入文件連結)。

注意:如果您指定 .pst 檔案的位置,請勿使用網路共用。 如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
297019? (http://support.microsoft.com/kb/297019/ ) 無法透過 LAN 或 WAN 連結支援 Outlook .pst 檔案的原因
如果您使用不同的服務帳戶來啟動 SQL Server 和 SQL Agent 服務,您就必須為每個帳戶設定郵件設定檔。如果要設定服務帳戶的郵件設定檔,您必須使用該服務帳戶來登入伺服器。

問 14:如果我的 Exchange 伺服器和 SQL Server 伺服器分別位在不同且沒有信任關係的兩個網域中,我應該使用哪個帳戶呢?

答 14:如果您無法在沒有收到要求輸入您的登入認證的提示時,從 SQL Server 電腦上的 Outlook 用戶端將郵件訊息傳送到您的 Exchange 伺服器,SQL Mail 便無法運作。只要一嘗試傳送郵件,就會造成 SQL Mail 在虛擬桌面出現提示使用者認證的對話方塊時停止回應。

如果要解決這個問題,請將 Exchange 伺服器當作網際網路郵件伺服器來使用。您可以在設定郵件設定檔時略過登入帳戶和密碼資訊,這樣 SQL Mail 在連線到其他網域的 Exchange 伺服器時,就不會收到要求登入資訊的提示。

您也可以在 SQL Server 伺服器和 Exchange 伺服器之間有防火牆隔離時,使用這項技巧。

問 15:SQL Mail 可以搭配 Microsoft Desktop Engine (MSDE) 使用嗎?

答 15:SQL Mail 不受 MSDE 支援。您必須升級成非 MSDE 版本的 SQL Server,才能使用 SQL Mail。
如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
324689? (http://support.microsoft.com/kb/324689/ ) Support WebCast: Troubleshooting Microsoft SQL Mail


沒有找到解答您心中問題的答案?請造訪下列 Microsoft SQL Server 新聞群組:Microsoft SQL Server 新聞群組 (http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=microsoft.public.sqlserver.server)

如果您對本文或其他「Microsoft 知識庫」文件有任何意見,請來信 SQLKB@Microsoft.com (mailto:sqlkb@microsoft.com) 表達您的意見。

這篇文章中的資訊適用於:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 6.5 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
關鍵字:?
kbinfo KB311231
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。