Share via


sysmail_add_account_sp (Transact-SQL)

Si applica a:SQL Server Istanza gestita di SQL di Azure

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

Convenzioni di 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 è sysname, senza impostazione predefinita.

[ @email_address = ] 'email_address'

Indirizzo di posta elettronica da cui inviare il messaggio. Deve essere un indirizzo di posta elettronica Internet. @email_address è nvarchar(128), senza impostazione predefinita. Ad esempio, un account per SQL Server Agent potrebbe inviare messaggi di posta elettronica dall'indirizzo SqlAgent@adventure-works.com.

[ @display_name = ] 'display_name'

Nome visualizzato da utilizzare nei messaggi di posta elettronica inviati da questo account. @display_name è nvarchar(128), con un valore predefinito .NULL Ad esempio, un account per SQL Server Agent potrebbe visualizzare il nome SQL Server Agent Automated Mailer nei messaggi di posta elettronica.

[ @replyto_address = ] 'replyto_address'

Indirizzo a cui vengono inviate le risposte ai messaggi da questo account. @replyto_address è nvarchar(128), con il valore predefinito NULL. Ad esempio, le risposte a un account per SQL Server Agent potrebbero passare all'amministratore del database, danw@adventure-works.com.

[ @description = ] 'description'

Descrizione dell'account. @description è nvarchar(256), con 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 che esegue SQL Server deve essere in grado di risolvere il @mailserver_name in un indirizzo IP. @mailserver_name è sysname, senza impostazione predefinita.

[ @mailserver_type = ] 'server_type'

Tipo del server di posta elettronica. @mailserver_type è sysname, con un valore predefinito .SMTP

[ @port = ] port_number

Numero di porta del server di posta elettronica. @port è int, con il valore predefinito 25.

[ @username = ] 'username'

Nome utente da utilizzare per l'accesso al server di posta elettronica. @username è nvarchar(128), con il valore predefinito NULL. Quando questo parametro è NULL, Posta elettronica database non usa l'autenticazione per questo account. Se il server di posta elettronica non richiede l'autenticazione, usare NULL per il nome utente.

[ @password = ] 'password'

Password da utilizzare per l'accesso al server di posta elettronica. @password è nvarchar(128), con il valore predefinito NULL. Non è necessario specificare una password, a meno che non venga specificato un nome utente.

[ @use_default_credentials = ] use_default_credentials

Specifica se inviare la posta al server SMTP utilizzando le credenziali del motore di database di SQL Server. @use_default_credentials è bit, con un valore predefinito .0 Quando questo parametro è 1, Posta elettronica database usa le credenziali del motore di database. Quando questo parametro è 0, Posta elettronica database invia i parametri @username e @password, se presenti, in caso contrario invia messaggi di posta elettronica senza 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 è bit, con un valore predefinito .0

[ @account_id = ] account_id OUTPUT

Restituisce l'ID account per il nuovo account. @account_id è int, con il valore predefinito NULL.

Valori del codice restituito

0 (esito positivo) o 1 (errore).

Osservazioni:

Posta elettronica database fornisce parametri separati per @email_address, @display_name e @replyto_address. Il parametro @email_address è l'indirizzo da cui viene inviato il messaggio. Il parametro @display_name è il nome visualizzato nel From: campo del messaggio di posta elettronica. Il parametro @replyto_address è l'indirizzo in cui verranno inviate le risposte al messaggio di posta elettronica. Ad esempio, un account usato per SQL Server Agent può inviare messaggi di posta elettronica da un indirizzo di posta elettronica utilizzato solo per SQL Server Agent. I messaggi provenienti da tale indirizzo devono visualizzare un nome descrittivo, in modo che i destinatari possano determinare facilmente che SQL Server Agent ha inviato il messaggio. Se un destinatario risponde al messaggio, la risposta deve passare all'amministratore del database anziché all'indirizzo usato da SQL Server Agent. Per questo scenario, l'account usa SqlAgent@adventure-works.com come indirizzo di posta elettronica. Il nome visualizzato è impostato su SQL Server Agent Automated Mailer. L'account usa danw@adventure-works.com come risposta all'indirizzo, quindi risponde ai messaggi inviati da questo account all'amministratore del database anziché all'indirizzo di posta elettronica per 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 supporta il valore SMTP.

Quando @use_default_credentials è 1, la posta elettronica viene inviata al server SMTP usando le credenziali del motore di database di SQL Server. Quando @use_default_credentials è 0 e viene specificato un @username e @password per un account, l'account usa l'autenticazione SMTP. Il @username e @password sono le credenziali usate dall'account per il server SMTP, non le credenziali per SQL Server o la rete in cui si trova il computer.

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

Autorizzazioni

Questa stored procedure è di proprietà del ruolo db_owner . È possibile concedere EXECUTE autorizzazioni per qualsiasi utente, ma queste autorizzazioni possono essere sottoposte a override durante un aggiornamento di SQL Server.

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. I messaggi di posta elettronica inviati da questo account vengono visualizzati AdventureWorks Automated Mailer nella From: riga del messaggio. Le risposte ai messaggi vengono indirizzate a danw@adventure-works.com.

EXEC 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';