xp_deletemail (Transact-SQL)

Elimina un mensaje de la bandeja de entrada de Microsoft SQL Server. sp_processmail utiliza este procedimiento para procesar el correo de la bandeja de entrada de SQL Server.

Nota

Esta característica se quitará en una versión futura de Microsoft SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

xp_deletemail { 'message_id' }

Argumentos

  • 'message_id'
    Es el número (asignado por xp_findnextmsg) del mensaje de correo de la bandeja de entrada que se va a eliminar. message_id es de tipo varchar(255) y no tiene ningún valor predeterminado.

Valores de código de retorno

0 (correcto) o 1 (error)

Conjuntos de resultados

xp_deletemail devuelve un mensaje cuando recibe un Id. de mensaje válido.

Comentarios

Cualquier error, excepto un parámetro no válido, queda registrado en el registro de aplicación de Windows.

xp_deletemail elimina el mensaje de la bandeja de entrada, pero no elimina los datos adjuntos del sistema de archivos. Debe eliminarlos manualmente. Puede suprimir la generación de datos adjuntos estableciendo el parámetro suppress_attach de xp_readmail en TRUE. Para obtener más información sobre los problemas de seguridad relacionados con los datos adjuntos, vea xp_readmail (Transact-SQL).

xp_deletemail no mantiene un registro de los mensajes eliminados ni de los usuarios que los eliminaron. Esto puede causar problemas de auditoría en entornos donde varios usuarios tengan permiso para ejecutar xp_deletemail. Para reducir este problema al mínimo, limite los permisos para xp_deletemail a los miembros de la función fija de servidor sysadmin.

Permisos

Debe pertenecer a la función fija de servidor sysadmin, pero se pueden conceder permisos EXECUTE a otros usuarios. Sin embargo, por razones de seguridad, se recomienda limitar los permisos para este procedimiento almacenado a los miembros de la función fija de servidor sysadmin.

Ejemplos

En el ejemplo siguiente se recupera un Id. de mensaje suministrado por xp_findnextmsg y se utiliza ese Id. de mensaje para eliminar un mensaje. El valor de xp_findnextmsg se coloca en la variable local @message_id.

DECLARE @message_id varchar(255) ;

USE master ;

EXEC xp_findnextmsg @msg_id = @message_id OUTPUT ;

EXEC xp_deletemail @message_id ;