sysmail_add_account_sp (Transact-SQL)

Crea un nuovo account di Posta elettronica database contenente informazioni su un account SMTP.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

sysmail_add_account_sp  [ @account_name = ] 'account_name',
    [ @email_address = ] 'email_address' ,
    [ [ @display_name = ] 'display_name' , ]
    [ [ @replyto_address = ] 'replyto_address' , ]
    [ [ @description = ] 'description' , ]
    [ @mailserver_name = ] 'server_name' 
    [ , [ @mailserver_type = ] 'server_type' ]
    [ , [ @port = ] port_number ]
    [ , [ @username = ] 'username' ]
    [ , [ @password = ] 'password' ]
    [ , [ @use_default_credentials = ] use_default_credentials ]
    [ , [ @enable_ssl = ] enable_ssl ]
    [ , [ @account_id = ] account_id OUTPUT ]

Argomenti

  • [ @account_name = ] 'account_name'
    Nome dell'account da aggiungere. account_name è di tipo sysname e non prevede alcun valore predefinito.

  • [ @email_address = ] 'email_address'
    Indirizzo di posta elettronica da cui inviare il messaggio. Deve essere un indirizzo di posta elettronica Internet. email_address è di tipo nvarchar(128) e non prevede alcun valore predefinito. Un account per SQL Server Agent può ad esempio inviare messaggi di posta elettronica dall'indirizzo SqlAgent@Adventure-Works.com.

  • [ @display_name = ] 'display_name'
    Nome visualizzato da utilizzare nei messaggi di posta elettronica provenienti da questo account. display_nameè di tipo nvarchar(128) e il valore predefinito è NULL. Nei messaggi inviati da un account per SQL Server Agent può ad esempio essere visualizzato il nome SQL Server Agent Automated Mailer.

  • [ @replyto_address = ] 'replyto_address'
    Indirizzo a cui vengono inviate le risposte ai messaggi di questo account. replyto_address è di tipo nvarchar(128) e il valore predefinito è NULL. Le risposte a un account per SQL Server Agent possono ad esempio essere indirizzate all'amministratore del database danw@Adventure-Works.com.

  • [ @description = ] 'description'
    Descrizione dell'account. description è di tipo nvarchar(256) e il valore predefinito è NULL.

  • [ @mailserver_name = ] 'server_name'
    Nome o indirizzo IP del server di posta elettronica SMTP da utilizzare per questo account. Il computer in cui è in esecuzione SQL Server deve essere in grado di risolvere il valore di server_name in un indirizzo IP. server_name è di tipo sysname e non prevede alcun valore predefinito.

  • [ @mailserver_type = ] 'server_type'
    Tipo di server di posta elettronica. server_type è di tipo sysname e il valore predefinito è 'SMTP'.

  • [ @port = ] port_number
    Numero di porta per il server di posta elettronica. port_number è di tipo int e il valore predefinito è 25.

  • [ @username = ] 'username'
    Nome utente da utilizzare per l'accesso al server di posta elettronica. username è di tipo nvarchar(128) e il valore predefinito è NULL. Se questo parametro è NULL, Posta elettronica database non utilizza l'autenticazione per questo account. Se il server di posta elettronica non richiede l'autenticazione, specificare NULL per il nome utente.

  • [ @password = ] 'password'
    Password da utilizzare per l'accesso al server di posta elettronica. password è di tipo nvarchar(128) e il valore predefinito è NULL. Non è necessario specificare una password se non si specifica un nome utente.

  • [ @use_default_credentials = ] use_default_credentials
    Specifica se inviare il messaggio al server SMTP utilizzando le credenziali del servizio Motore di database di SQL Server. use_default_credentials è di tipo bit e prevede un valore predefinito di 0. Se questo parametro è 1, Posta elettronica database utilizza le credenziali di Motore di database. Se questo parametro è o, Posta elettronica database invia i parametri @username e @password, se disponibili. In caso contrario invia il messaggio senza i parametri**@username** e @password.

  • [ @enable_ssl = ] enable_ssl
    Specifica l'utilizzo della crittografia mediante SSL (Secure Sockets Layer) da parte di Posta elettronica database. Enable_ssl è di tipo bit e il valore predefinito è 0.

  • [ @account_id = ] account_id OUTPUT
    Restituisce l'ID del nuovo account. account_id è di tipo int e il valore predefinito è NULL.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Osservazioni

In Posta elettronica database sono disponibili parametri distinti per @email_address, @display_name e @replyto_address. Il parametro @email_address specifica l'indirizzo da cui viene inviato il messaggio. Il parametro @display_name specifica il nome visualizzato nel campo Da del messaggio di posta elettronica. Il parametro @replyto_address specifica l'indirizzo a cui verranno inviate le risposte al messaggio di posta elettronica. Un account utilizzato per SQL Server Agent, ad esempio, potrebbe inviare messaggi di posta elettronica da un indirizzo di posta elettronica che viene utilizzato solo per SQL Server Agent. I messaggi provenienti da tale indirizzo dovrebbero includere un nome descrittivo, in modo che i destinatari possano stabilire con facilità che il mittente è SQL Server Agent. Se un destinatario risponde al messaggio, la risposta dovrebbe arrivare all'amministratore del database e non all'indirizzo utilizzato da SQL Server Agent. In questa situazione, l'account utilizza SqlAgent@Adventure-Works.com come indirizzo di posta elettronica. Il nome visualizzato è impostato su SQL Server Agent Automated Mailer. L'account utilizza danw@Adventure-Works.com come indirizzo per le risposte, in modo che le risposte ai messaggi inviati da questo account vengano indirizzate all'amministratore del database anziché all'indirizzo di posta elettronica di SQL Server Agent. Grazie alla possibilità di specificare impostazioni indipendenti per questi tre parametri, con Posta elettronica database è possibile configurare i messaggi in base alle proprie esigenze.

Il parametro @mailserver_type è presente per garantire flessibilità nelle versioni future. SQL Server 2005 e versioni successive supportano il valore 'SMTP' per @mailserver_type

Se @use_default_credentials è 1, il messaggio viene inviato al server SMTP utilizzando le credenziali di Motore di database di SQL Server. Quando @use_default_credentials è 0 e @username e @password sono specificati per un account, l'account utilizza l'autenticazione SMTP. I valori @username e @password rappresentano le credenziali utilizzate dall'account per il server SMTP, non le credenziali per SQL Server o per la rete in cui si trova il computer.

La stored procedure sysmail_add_account_sp è disponibile nel database msdb ed è di proprietà dello schema dbo. La procedura deve essere eseguita con un nome in tre parti se il database corrente non è msdb.

Autorizzazioni

Le autorizzazioni di esecuzione per questa procedura vengono assegnate per impostazione predefinita ai membri del ruolo predefinito del server sysadmin.

Esempi

Nell'esempio seguente viene creato un account denominato AdventureWorks Administrator. L'account utilizza l'indirizzo di posta elettronica dba@Adventure-Works.com e invia la posta al server di posta elettronica SMTP smtp.Adventure-Works.com. Nella riga Da dei messaggi di posta elettronica inviati da questo account viene visualizzato AdventureWorks Automated Mailer. Le risposte ai messaggi vengono indirizzate a danw@Adventure-Works.com.

EXECUTE msdb.dbo.sysmail_add_account_sp
    @account_name = 'AdventureWorks Administrator',
    @description = 'Mail account for administrative e-mail.',
    @email_address = 'dba@Adventure-Works.com',
    @display_name = 'AdventureWorks Automated Mailer',
    @mailserver_name = 'smtp.Adventure-Works.com' ;