xp_deletemail (Transact-SQL)
Microsoft SQL Server 受信トレイからメッセージを削除します。このプロシージャは、sp_processmail で SQL Server 受信トレイのメールを処理する場合に使用されます。
メモ : |
---|
この機能は、将来のバージョンの Microsoft SQL Server では削除される予定です。新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 |
構文
xp_deletemail { 'message_id' }
引数
- 'message_id'
受信トレイで削除するメール メッセージの固有メッセージ番号を指定します。このメッセージ番号は、xp_findnextmsg で割り当てられます。message_id のデータ型は varchar(255) で、既定値はありません。
結果セット
xp_deletemail では、有効なメッセージ ID が渡された場合にメッセージが返されます。
解説
無効なパラメータ以外のエラーはすべて、Windows のアプリケーション ログに記録されます。
xp_deletemail では、受信トレイからメッセージが削除されますが、ファイル システムから添付ファイルは削除されません。添付ファイルは手動で削除する必要があります。xp_readmail の suppress_attach パラメータを TRUE に設定すると、添付ファイルが生成されないように制御できます。添付ファイルのセキュリティに関する問題の詳細については、「xp_readmail (Transact-SQL)」を参照してください。
xp_deletemail では、削除されたメッセージやメッセージを削除したユーザーのログは保持されません。このため、xp_deletemail を実行する権限が複数のユーザーに与えられている環境では、監査の問題が発生する場合があります。この問題を最小限に抑えるには、xp_deletemail の実行権限を、sysadmin 固定サーバー ロールのメンバだけに制限します。
権限
sysadmin 固定サーバー ロールのメンバシップが必要です。EXECUTE 権限は他のユーザーに与えることもできます。ただしセキュリティ上の理由から、このストアド プロシージャの実行権限は、sysadmin 固定サーバー ロールのメンバだけに制限することをお勧めします。
戻り値
0 (成功) または 1 (失敗)
例
次の例では、xp_findnextmsg
から得られるメッセージ ID を取得し、そのメッセージ ID を使用してメッセージを削除します。xp_findnextmsg
から取得した値は、ローカル変数 @message_id
に格納されます。
DECLARE @message_id varchar(255) ;
USE master ;
EXEC xp_findnextmsg @msg_id = @message_id OUTPUT ;
EXEC xp_deletemail @message_id ;
参照
関連項目
sp_processmail (Transact-SQL)
システム ストアド プロシージャ (Transact-SQL)
xp_findnextmsg (Transact-SQL)
xp_readmail (Transact-SQL)
xp_sendmail (Transact-SQL)
xp_startmail (Transact-SQL)
xp_stopmail (Transact-SQL)