Share via


SQL Mail ストアド プロシージャの使用

SQL Mail には、クエリの実行、受信者リストへの結果セットの返信、または簡単なクエリやストアド プロシージャが含まれている電子メールへの返信を行うことができるストアド プロシージャが多数含まれています。

注意

この機能は、将来のバージョンの Microsoft SQL Server では削除される予定です。新しい開発作業では、この機能の使用を避け、現在この機能を使用しているアプリケーションは修正するようにしてください。. メールを SQL Server から送信するには、データベース メールを使用します。

次の表は、拡張プロシージャの内容と使い方を示しています。

SQL Mail プロシージャ

機能

xp_startmail (Transact-SQL)

SQL Mail を開始します。SQL Mail を使用するプロシージャでは、必要に応じて SQL Mail が開始されます。

xp_stopmail (Transact-SQL)

SQL Mail を停止します。

xp_findnextmsg (Transact-SQL)

既定では、受信トレイに最後に配信された電子メールを検出し、一意のメッセージ ID を返します。また、sp_processmail によって使用され、SQL Mail の受信トレイのメールを処理します。xp_findnextmsg は、入力メッセージの ID を受け取り、次の出力メッセージの ID を返します。

xp_readmail (Transact-SQL)

メッセージ ID を入力として取得し、件名などメッセージに関連する情報を出力として返します (xp_findnextmsg を使用すると、この ID を生成できます)。また、sp_processmail によって使用されます。

xp_deletemail (Transact-SQL)

メッセージ ID を入力として取得し、関連するメッセージを受信トレイから削除します (xp_findnextmsg を使用すると、この ID を生成できます)。また、sp_processmail によって使用されます。

xp_sendmail (Transact-SQL)

メッセージの作成に必要なパラメータ (受信者、メッセージ、件名、クエリなど) を取得します。また、sp_processmail によって使用されるか、ストアド プロシージャまたはトリガの一部として使用されます。メッセージにクエリ結果セットを添付して、指定された受信者に送信します。

sp_processmail (Transact-SQL)

複数の拡張ストアド プロシージャ (xp_findnextmsgxp_readmail、および xp_deletemail) を使用して、入力メール メッセージ (単一クエリのみを想定) を処理し、xp_sendmail を使用してメッセージの送信者に結果セットを返します。SQL Mail の受信トレイにメールが配信されているかどうかをチェックするジョブを作成し、定期的に実行されるようにスケジュールを設定する必要があります。

セキュリティに関する注意セキュリティに関する注意

セキュリティを強化するため、SQL Mail ストアド プロシージャおよび拡張ストアド プロシージャの権限は、sysadmin 固定サーバー ロールのメンバだけに付与してください。

関連項目

概念