Share via


xp_startmail (Transact-SQL)

啟動 SQL Mail 用戶端工作階段。啟動郵件工作階段會開啟 MAPI 用戶端元件,且會登入電子郵件伺服器。

[!附註]

未來的 Microsoft SQL Server 版本將移除這項功能。請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。

主題連結圖示Transact-SQL 語法慣例

語法

xp_startmail [ [ @user= ] 'mapi_profile_name' ]
     [ , [ @password= ] 'mapi_profile_password' ] 

引數

  • [@user = ] 'mapi_profile_name'
    這是一個用來指定郵件設定檔名稱的選擇性參數。mapi_profile_name 是 sysname,沒有預設值。如果未提供這個參數,就會使用 Microsoft Outlook 中所設定的時間。

  • [@password = ] 'mapi_profile_password'
    這是指定的 mapi_profile_name 的郵件密碼。mapi_profile_password 是 sysname,沒有預設值。當在執行 xp_startmail 之前啟動郵件用戶端 (在同一部電腦上) 時,不允許使用 NULL 值。

傳回碼值

0 (成功) 或 1 (失敗)

結果集

xp_startmail 會傳回這則訊息:

SQL mail session started.

備註

如果提供了 mapi_profile_name 和 mapi_profile_password,SQL Server 會嘗試利用設定檔名稱和密碼來登入 MAPI 提供者。如果提供了 mapi_profile_name 和 mapi_profile_password,但不正確,就會傳回錯誤訊息。如果未提供 mapi_profile_name 和 mapi_profile_password,SQL Server 會使用 [SQL Mail 組態] 對話方塊指定的設定檔名稱和密碼。如果未明確提供設定檔名稱或密碼,SQL Server 會嘗試利用預設的 MAPI 設定檔來登入 MAPI 提供者。部分 MAPI 提供者可能會設定成使用 Windows 驗證,此時會忽略 MAPI 密碼。

[!附註]

如果您利用 xp_startmail 來啟動您的郵件工作階段,您可以選擇性地提供您的登入名稱和密碼,以免必須在命令提示字元之下輸入它。不過,如果有現存的 MAPI 工作階段在執行中,便不會在它上面執行 SQL Mail。這個行為與 SQL Server 7.0 版及更早的版本不同。

如果有現存的郵件工作階段,xp_startmail 不會啟動新的郵件工作階段。如果使用郵件時所在的電腦也在執行 SQL Server,且 SQL Mail 設定成會在 SQL Server 啟動時自動啟動,就必須在執行 xp_startmail 之前,或在啟動 SQL Server 之前,啟動郵件用戶端。

權限

需要系統管理員 (sysadmin) 固定伺服器角色中的成員資格,但是 EXECUTE 權限可以授與其他使用者。不過,基於安全性的考量,建議您將這個預存程序的權限限制在系統管理員 (sysadmin) 固定伺服器角色的成員。

範例

下列範例利用 Microsoft Outlook 指定的使用者名稱和密碼作為執行 SQL Server 時所用的 Microsoft Windows 帳戶之預設設定檔來啟動郵件。

USE master;
GO
EXEC xp_startmail;
GO