Share via


xp_deletemail (Transact-SQL)

Exclui uma mensagem da caixa de entrada do Microsoft SQL Server. Este procedimento é usado por sp_processmail para processar correio na caixa de entrada do SQL Server.

ObservaçãoObservação

Esse recurso será removido em uma versão futura do Microsoft SQL Server. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

xp_deletemail { 'message_id' }

Argumentos

  • 'message_id'
    É o número da mensagem proprietária (atribuído por xp_findnextmsg) do email na caixa de entrada que deve ser excluída. message_id é varchar(255), sem padrão.

Valores de código de retorno

0 (êxito) ou 1 (falha)

Conjuntos de resultados

xp_deletemail retornará uma mensagem quando um ID de mensagem válido for passado.

Comentários

Qualquer falha, com exceção de um parâmetro inválido, será registrada no log de aplicativos do Windows.

xp_deletemail exclui a mensagem da caixa de entrada, mas não exclui nenhum anexo do sistema de arquivos. Você deve excluir anexos manualmente. Você pode suprimir a geração de anexos definindo o parâmetro suppress_attach de xp_readmail como TRUE. Para obter mais informações sobre problemas de segurança com anexos, consulte xp_readmail (Transact-SQL).

xp_deletemail não mantém um log de mensagens excluídas ou de usuários que excluíram as mensagens. Isto pode causar problemas de auditoria em um ambiente onde vários usuários têm permissão para executar xp_deletemail. Para minimizar este problema, limite as permissões de xp_deletemail para membros da função de servidor fixa sysadmin.

Permissões

Requer associação na função de servidor fixa sysadmin, mas permissões EXECUTE podem ser concedidas a outros usuários. Mas, por razões de segurança, é recomendável que as permissões desse procedimento armazenado sejam limitadas aos membros da função de servidor fixa sysadmin.

Exemplos

O exemplo a seguir recupera um ID de mensagem fornecido a partir de xp_findnextmsg e usa esse ID de mensagem para excluí-la. O valor de xp_findnextmsg é colocado na variável local @message_id.

DECLARE @message_id varchar(255) ;

USE master ;

EXEC xp_findnextmsg @msg_id = @message_id OUTPUT ;

EXEC xp_deletemail @message_id ;