xp_deletemail (Transact-SQL)

Supprime un message de la boîte de réception de Microsoft SQL Server. Cette procédure est utilisée par sp_processmail pour traiter le courrier de la boîte de réception de SQL Server.

Notes

Cette fonctionnalité sera supprimée dans une prochaine version de Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

xp_deletemail { 'message_id' }

Arguments

  • 'message_id'
    Numéro de message propriétaire (attribué par xp_findnextmsg) du message électronique à supprimer dans la boîte de réception. message_id est de type varchar(255), sans valeur par défaut.

Valeurs des codes de retour

0 (succès) ou 1 (échec)

Ensembles de résultats

xp_deletemail retourne un message après avoir reçu un ID de message valide.

Notes

Tous les échecs, sauf en cas de paramètre non valide, sont enregistrés dans le journal des applications Windows.

xp_deletemail supprime le message de la boîte de réception, mais pas les pièces jointes du système de fichiers. Vous devez les supprimer manuellement. Vous pouvez interdire la génération de pièces jointes en affectant la valeur TRUE au paramètre suppress_attach de xp_readmail. Pour plus d’informations sur les problèmes de sécurité liés aux pièces jointes, consultez xp_readmail (Transact-SQL).

xp_deletemail ne conserve pas de journal des messages supprimés, ni des utilisateurs qui en sont à l'origine. Cela peut poser des problèmes d'audit dans un environnement où plusieurs utilisateurs ont le droit d'exécuter xp_deletemail. Pour minimiser le problème, limitez les autorisations concernant xp_deletemail aux membres du rôle de serveur fixe sysadmin.

Autorisations

Nécessite l'appartenance au rôle de serveur fixe sysadmin, mais les autorisations EXECUTE peuvent être accordées à d'autres utilisateurs. Cependant, pour des raisons de sécurité, nous vous conseillons de limiter les autorisations pour cette procédure stockée aux membres du rôle de serveur fixe sysadmin.

Exemples

L'exemple suivant récupère un ID de message fourni par xp_findnextmsg, puis utilise cet ID de message pour supprimer un message. La valeur provenant de xp_findnextmsg est placée dans la variable locale @message_id.

DECLARE @message_id varchar(255) ;

USE master ;

EXEC xp_findnextmsg @msg_id = @message_id OUTPUT ;

EXEC xp_deletemail @message_id ;