Condividi tramite


Creare un profilo di Posta elettronica database

Per creare i profili pubblici e privati di Posta Elettronica del Database, è possibile usare la Configurazione Guidata della Posta Elettronica del Database o Transact-SQL.

Prima di iniziare

Prerequisiti

Creare uno o più account di Posta elettronica database per il profilo. Per altre informazioni sulla creazione di account di Posta elettronica database, vedere Creare un account di Posta elettronica database.

Sicurezza

Un profilo pubblico consente a qualsiasi utente con accesso al database msdb di inviare messaggi di posta elettronica usando tale profilo. Un profilo privato può essere utilizzato da un utente o da un ruolo. Concedendo ai ruoli l'accesso ai profili viene creata un'architettura gestita in modo più semplice. Per inviare messaggi di posta elettronica, è necessario essere membri del DatabaseMailUserRole nel database msdb e avere accesso ad almeno un profilo di Posta elettronica database.

Autorizzazioni

Per creare gli account dei profili ed eseguire le stored procedure è necessario che l'utente sia un membro del ruolo predefinito del server sysadmin.

Utilizzo della Configurazione guidata Posta elettronica database

Per creare un profilo di Posta elettronica database

  • In Esplora oggetti, connettersi all'istanza di SQL Server dove si desidera configurare la Posta elettronica del database ed espandere l'albero dei server.

  • Espandere il nodo Gestione

  • Fare doppio clic su Database Mail per aprire il Database Mail Configuration Wizard.

  • Nella pagina Seleziona attività di configurazione selezionare l'opzione Gestisci account e profili di Posta elettronica database e fare clic su Avanti.

  • Nella pagina Gestisci profili e account selezionare l'opzione Crea un nuovo profilo e fare clic su Avanti.

  • Nella pagina Nuovo profilo specificare il nome del profilo, Descrizione e aggiungere account da includere nel profilo e fare clic su Avanti.

  • Nella pagina Completamento procedura guidata esaminare le azioni da eseguire e fare clic su Fine per completare la creazione del nuovo profilo.

  • Per configurare un profilo privato di Posta elettronica database:

    • Aprire la procedura guidata di configurazione di Database Mail.

    • Nella pagina Seleziona attività di configurazione selezionare l'opzione Gestisci account e profili di Posta elettronica database e fare clic su Avanti.

    • Nella pagina Gestisci profili e account selezionare l'opzione Gestisci sicurezza profilo e fare clic su Avanti.

    • Nella scheda Profili privati selezionare la casella di controllo per il profilo che si desidera configurare e fare clic su Avanti.

    • Nella pagina Completamento procedura guidata esaminare le azioni da eseguire e fare clic su Fine per completare la configurazione del profilo.

  • Per configurare un profilo pubblico di Posta elettronica database:

    • Aprire la procedura guidata di configurazione di Database Mail.

    • Nella pagina Seleziona attività di configurazione selezionare l'opzione Gestisci account e profili di Posta elettronica database e fare clic su Avanti.

    • Nella pagina Gestisci profili e account selezionare l'opzione Gestisci sicurezza profilo e fare clic su Avanti.

    • Nella scheda Profili pubblici selezionare la casella di controllo per il profilo che si desidera configurare e fare clic su Avanti.

    • Nella pagina Completamento procedura guidata esaminare le azioni da eseguire e fare clic su Fine per completare la configurazione del profilo.

Uso di Transact-SQL

Per creare un profilo privato di Posta elettronica database

  • Eseguire la connessione all'istanza di SQL Server.

  • Per creare un nuovo profilo, eseguire la stored procedure di sistema sysmail_add_profile_sp (Transact-SQL) come illustrato di seguito:

    EXECUTE msdb.dbo.sysmail_add_profile_sp

    @profile_name = 'Nome profilo'

    @description = 'Descrizione'

    dove @profile_name è il nome del profilo e @description è la descrizione del profilo. Questo parametro è facoltativo.

  • Per ogni account, eseguire la stored procedure sysmail_add_profileaccount_sp (Transact-SQL) come descritto di seguito:

    EXECUTEmsdb.dbo.sysmail_add_profileaccount_sp

    @profile_name = 'Nome del profilo'

    @account_name = 'Nome dell'account'

    @sequence_number = 'numero di sequenza dell'account all'interno del profilo. '

    dove @profile_name è il nome del profilo e @account_name è il nome dell'account da aggiungere al profilo, @sequence_number determina l'ordine in cui vengono usati gli account nel profilo.

  • Concedere l'accesso al profilo a ogni utente o ruolo del database che invierà posta elettronica tramite questo profilo. A tale scopo, eseguire la stored procedure sysmail_add_principalprofile_sp (Transact-SQL) come descritto di seguito:

    EXECUTEmsdb.sysmail_add_principalprofile_sp

    @profile_name = 'Nome del profilo'

    @ principal_name = 'Nome dell'utente o del ruolo del database'

    @is_default = 'Stato profilo predefinito '

    dove @profile_name è il nome del profilo e @principal_name è il nome dell'utente o del ruolo del database, @is_default determina se il profilo è l'impostazione predefinita per l'utente o il ruolo del database.

Nell'esempio seguente viene creato un account di Posta elettronica database, viene creato un profilo privato di Posta elettronica database, quindi viene aggiunto l'account al profilo e viene concesso l'accesso al profilo al ruolo del database DBMailUsers nel database msdb .

-- Create a Database Mail account  
EXECUTE msdb.dbo.sysmail_add_account_sp  
    @account_name = 'AdventureWorks Administrator',  
    @description = 'Mail account for administrative e-mail.',  
    @email_address = 'dba@Adventure-Works.com',  
    @replyto_address = 'danw@Adventure-Works.com',  
    @display_name = 'AdventureWorks Automated Mailer',  
    @mailserver_name = 'smtp.Adventure-Works.com' ;  
  
-- Create a Database Mail profile  
EXECUTE msdb.dbo.sysmail_add_profile_sp  
    @profile_name = 'AdventureWorks Administrator Profile',  
    @description = 'Profile used for administrative mail.' ;  
  
-- Add the account to the profile  
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp  
    @profile_name = 'AdventureWorks Administrator Profile',  
    @account_name = 'AdventureWorks Administrator',  
    @sequence_number =1 ;  
  
-- Grant access to the profile to the DBMailUsers role  
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp  
    @profile_name = 'AdventureWorks Administrator Profile',  
    @principal_name = 'ApplicationUser',  
    @is_default = 1 ;  

Per creare un profilo pubblico di Posta elettronica database

  • Eseguire la connessione all'istanza di SQL Server.

  • Per creare un nuovo profilo, eseguire la stored procedure di sistema sysmail_add_profile_sp (Transact-SQL) come illustrato di seguito:

    EXECUTEmsdb.dbo.sysmail_add_profile_sp

    @profile_name = 'Nome profilo'

    @description = 'Descrizione'

    dove @profile_name è il nome del profilo e @description è la descrizione del profilo. Questo parametro è facoltativo.

  • Per ogni account, eseguire la stored procedure sysmail_add_profileaccount_sp (Transact-SQL) come descritto di seguito:

    EXECUTEmsdb.dbo.sysmail_add_profileaccount_sp

    @profile_name = 'Nome del profilo'

    @account_name = 'Nome dell'account'

    @sequence_number = 'numero di sequenza dell'account all'interno del profilo. '

    dove @profile_name è il nome del profilo e @account_name è il nome dell'account da aggiungere al profilo, @sequence_number determina l'ordine in cui vengono usati gli account nel profilo.

  • Per concedere accesso pubblico, eseguire la stored procedure sysmail_add_principalprofile_sp (Transact-SQL) come segue:

    EXECUTEmsdb.sysmail_add_principalprofile_sp

    @profile_name = 'Nome del profilo'

    @ principal_name = 'public or 0'

    @is_default = 'Stato profilo predefinito '

    dove @profile_name è il nome del profilo e @principal_name per indicare che si tratta di un profilo pubblico, @is_default determina se questo profilo è l'impostazione predefinita per l'utente o il ruolo del database.

Nell'esempio seguente vengono creati un account e un profilo privato di Posta elettronica database, quindi viene aggiunto l'account al profilo e viene concesso l'accesso pubblico al profilo.

-- Create a Database Mail account  
  
EXECUTE msdb.dbo.sysmail_add_account_sp  
    @account_name = 'AdventureWorks Public Account',  
    @description = 'Mail account for use by all database users.',  
    @email_address = 'db_users@Adventure-Works.com',  
    @replyto_address = 'danw@Adventure-Works.com',  
    @display_name = 'AdventureWorks Automated Mailer',  
    @mailserver_name = 'smtp.Adventure-Works.com' ;  
  
-- Create a Database Mail profile  
  
EXECUTE msdb.dbo.sysmail_add_profile_sp  
    @profile_name = 'AdventureWorks Public Profile',  
    @description = 'Profile used for administrative mail.' ;  
  
-- Add the account to the profile  
  
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp  
    @profile_name = 'AdventureWorks Public Profile',  
    @account_name = 'AdventureWorks Public Account',  
    @sequence_number =1 ;  
  
-- Grant access to the profile to all users in the msdb database  
  
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp  
    @profile_name = 'AdventureWorks Public Profile',  
    @principal_name = 'public',  
    @is_default = 1 ;