使用 SQL Mail 預存程序

SQL Mail 包含許多預存程序,可用來執行查詢、傳回結果集給清單中的收件者,或回覆內含簡單查詢或預存程序的電子郵件訊息。

[!附註]

未來的 Microsoft SQL Server 版本將移除這項功能。請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。. 若要從 SQL Server 傳送郵件,請使用 Database Mail。

下表提供擴充程序的簡要說明與使用方式。

SQL Mail 程序

函數

xp_startmail (Transact-SQL)

啟動 SQL Mail。請注意,使用 SQL Mail 的程序會在必要時啟動 SQL Mail。

xp_stopmail (Transact-SQL)

停止 SQL Mail。

xp_findnextmsg (Transact-SQL)

預設會尋找最近在收件匣中傳遞的電子郵件,並傳回唯一的訊息識別碼。sp_processmail 也會用它來處理 SQL Mail 收件匣中的郵件:xp_findnextmsg 接受輸入的訊息識別碼,並傳回下一個輸出之訊息的訊息識別碼。

xp_readmail (Transact-SQL)

採用訊息識別碼來做為輸入,並傳回與訊息相關的資訊來做為輸出,例如電子郵件的主旨。(您可以使用 xp_findnextmsg 產生這個識別碼)。sp_processmail 也使用這個識別碼。

xp_deletemail (Transact-SQL)

採用訊息識別碼來做為輸入,並從收件匣中移除相關的訊息 (您可以使用 xp_findnextmsg 來產生這個識別碼)。sp_processmail 也會使用它。

xp_sendmail (Transact-SQL)

採用數個必要參數 (例如收件者、訊息、主旨及查詢),以建立電子郵件。亦可用於 sp_processmail,或做為預存程序或觸發程序的一部份。它會將訊息與查詢結果集附件傳送給指定的收件者。

sp_processmail (Transact-SQL)

使用數個擴充預存程序 (xp_findnextmsgxp_readmailxp_deletemail) 來處理內送的郵件訊息 (預期只有單一查詢),並使用 xp_sendmail 來將結果集傳送給訊息寄件者。您必須將其設為定期排程的作業,以檢查在 SQL Mail 收件匣中所收到的郵件。

安全性注意事項安全性注意事項

若要增進安全性,您應該將所有的 SQL Mail 預存程序及擴充預存程序的權限限定在系統管理員 (sysadmin) 固定伺服器角色的成員。

請參閱

概念