xp_deletemail (Transact-SQL)

Löscht eine Nachricht aus dem Microsoft SQL Server-Posteingang. Mit dieser Prozedur verarbeitet sp_processmail E-Mail-Nachrichten im SQL Server-Posteingang.

HinweisHinweis

Diese Funktion wird in zukünftigen Versionen von Microsoft SQL Server nicht mehr bereitgestellt. Verwenden Sie diese Funktion beim Entwickeln neuer Anwendungen nicht, und planen Sie das Ändern von Anwendungen, in denen es zurzeit verwendet wird.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

xp_deletemail { 'message_id' }

Argumente

  • 'message_id'
    Die (von xp_findnextmsg zugewiesene) proprietäre Nummer der E-Mail-Nachricht im Posteingang, die gelöscht werden soll. message_id ist vom Datentyp varchar(255) und hat keinen Standardwert.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Resultsets

xp_deletemail gibt eine Nachricht zurück, wenn eine gültige Nachrichten-ID übergeben wird.

Hinweise

Jeder Fehler, außer einem ungültigen Parameter, wird im Windows-Anwendungsprotokoll protokolliert.

xp_deletemail löscht die Nachricht aus dem Posteingang, löscht jedoch keine Anlagen aus dem Dateisystem. Anlagen müssen manuell gelöscht werden. Das Generieren von Anlagen kann durch Festlegen des suppress_attach-Parameters für xp_readmail auf TRUE unterdrückt werden. Weitere Informationen zu Sicherheitsaspekten im Zusammenhang mit Anlagen finden Sie unter xp_readmail (Transact-SQL).

xp_deletemail führt kein Protokoll der gelöschten Nachrichten oder der Benutzer, die Nachrichten gelöscht haben. Dies kann in einer Umgebung mit mehreren Benutzern, die zur Ausführung von xp_deletemail berechtigt sind, zu Überwachungsproblemen führen. Um dieses Problem so gering wie möglich zu halten, sollten Sie die Berechtigungen für xp_deletemail auf Mitglieder der festen Serverrolle sysadmin beschränken.

Berechtigungen

Erfordert die Mitgliedschaft in der festen Serverrolle sysadmin, EXECUTE-Berechtigungen können jedoch auch anderen Benutzern erteilt werden. Aus Sicherheitsgründen wird jedoch empfohlen, die Berechtigungen für diese gespeicherte Prozedur auf Mitglieder der festen Serverrolle sysadmin zu beschränken.

Beispiele

Im folgenden Beispiel wird eine von xp_findnextmsg bereitgestellte Nachrichten-ID abgerufen und anschließend eine Nachricht mithilfe dieser Nachrichten-ID gelöscht. Der Wert von xp_findnextmsg wird in die lokale Variable @message_id platziert.

DECLARE @message_id varchar(255) ;

USE master ;

EXEC xp_findnextmsg @msg_id = @message_id OUTPUT ;

EXEC xp_deletemail @message_id ;