xp_deletemail (Transact-SQL)

Elimina un messaggio dalla cartella Posta in arrivo di MicrosoftSQL Server. Questa procedura viene utilizzata da sp_processmail per elaborare la posta elettronica nella cartella Posta in arrivo di SQL Server.

[!NOTA]

Questa caratteristica verrà rimossa a partire da una delle prossime versioni di Microsoft SQL Server. Evitare di utilizzare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

xp_deletemail { 'message_id' }

Argomenti

  • 'message_id'
    Numero di messaggio proprietario assegnato da xp_findnextmsg al messaggio di posta elettronica da eliminare dalla cartella Posta in arrivo. message_id è di tipo varchar(255) e non prevede alcun valore predefinito.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Set di risultati

La stored procedure xp_deletemail restituisce un messaggio quando viene passato un ID di messaggio valido.

Osservazioni

Tutti gli errori, ad eccezione degli errori di parametro non valido, vengono inseriti nel registro applicazioni di Windows.

La stored procedure xp_deletemail elimina il messaggio dalla cartella Posta in arrivo ma non elimina gli allegati dal file system. Sarà necessario eliminare gli allegati manualmente. È possibile disattivare la generazione degli allegati impostando il parametro suppress_attach di xp_readmail su TRUE. Per ulteriori informazioni sui problemi relativi alla protezione degli allegati, vedere xp_readmail (Transact-SQL).

La stored procedure xp_deletemail non conserva il log dei messaggi eliminati o degli utenti che hanno eliminato i messaggi. Ciò potrebbe causare problemi di controllo in un ambiente dove più utenti sono autorizzati a eseguire xp_deletemail. Per limitare il problema, concedere l'autorizzazione di esecuzione della stored procedure xp_deletemail solo ai membri del ruolo predefinito del server sysadmin.

Autorizzazioni

È richiesta l'appartenenza al ruolo predefinito del server sysadmin, ma è possibile concedere autorizzazioni EXECUTE ad altri utenti. Per motivi di protezione, è tuttavia consigliabile concedere le autorizzazioni per l'esecuzione di questa stored procedure solo ai membri del ruolo predefinito del server sysadmin.

Esempi

Nell'esempio seguente viene recuperato un ID di messaggio restituito da xp_findnextmsg, che viene quindi utilizzato per eliminare un messaggio. Il valore restituito da xp_findnextmsg viene infine inserito nella variabile locale @message\_id.

DECLARE @message_id varchar(255) ;

USE master ;

EXEC xp_findnextmsg @msg_id = @message_id OUTPUT ;

EXEC xp_deletemail @message_id ;