xp_deletemail (Transact-SQL)
Elimina un mensaje de la bandeja de entrada de MicrosoftSQL 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.
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.
Notas
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 ;