Partager via


Créer un profil de messagerie de base de données

Utilisez l’Assistant Configuration de la messagerie de base de données ou Transact-SQL pour créer des profils publics et privés de messagerie de base de données.

Avant de commencer

Conditions préalables

Créez un ou plusieurs comptes de messagerie de base de données pour le profil. Pour plus d’informations sur la création de comptes de messagerie de base de données, consultez Créer un compte de messagerie de base de données.

Sécurité

Un profil public permet à tout utilisateur ayant accès à la base de données msdb d’envoyer des messages électroniques à l’aide de ce profil. Un profil privé peut être utilisé par un utilisateur ou par un rôle. L’octroi d’un accès aux rôles aux profils crée une architecture plus facile à gérer. Pour envoyer du courrier, vous devez être membre de DatabaseMailUserRole dans la base de données msdb et avoir accès à au moins un profil de messagerie de base de données.

Autorisations

L’utilisateur qui crée les comptes de profils et exécute des procédures stockées doit être membre du rôle serveur fixe sysadmin.

Utilisation de l'Assistant Configuration de la messagerie de base de données

Pour créer un profil de messagerie de base de données

  • Dans l'Explorateur d'objets, connectez-vous à l'instance de SQL Server sur laquelle vous voulez configurer Database Mail, puis développez l'arborescence du serveur.

  • Développez le nœud Gestion .

  • Double-cliquez sur Messagerie de base de données pour ouvrir l’Assistant Configuration de la messagerie de base de données.

  • Dans la page Sélectionner une tâche de configuration , sélectionnez l’option Gérer les comptes et profils de messagerie de base de données , puis cliquez sur Suivant.

  • Dans la page Gérer les profils et comptes , sélectionnez Créer une option de profil , puis cliquez sur Suivant.

  • Dans la page Nouveau profil , spécifiez le nom du profil, description et ajoutez des comptes à inclure dans le profil, puis cliquez sur Suivant.

  • Sur la page Complete the Wizard, vérifiez les actions à effectuer, puis cliquez sur Terminer pour finaliser la création du nouveau profil.

  • Pour configurer un profil privé de messagerie de base de données :

    • Ouvrez l’Assistant de configuration de Database Mail.

    • Dans la page Sélectionner une tâche de configuration , sélectionnez l’option Gérer les comptes et profils de messagerie de base de données , puis cliquez sur Suivant.

    • Dans la page Gérer les profils et comptes , sélectionnez l’option Gérer la sécurité des profils , puis cliquez sur Suivant.

    • Dans l’onglet Profils privés , activez la case à cocher du profil que vous souhaitez configurer, puis cliquez sur Suivant.

    • Sur la page Terminer l’Assistant, passez en revue les actions à effectuer et cliquez sur Terminer pour terminer la configuration du profil.

  • Pour configurer un profil public de messagerie de base de données :

    • Ouvrez l’Assistant Configuration de la messagerie de base de données.

    • Dans la page Sélectionner une tâche de configuration , sélectionnez l’option Gérer les comptes et profils de messagerie de base de données , puis cliquez sur Suivant.

    • Dans la page Gérer les profils et comptes , sélectionnez l’option Gérer la sécurité des profils , puis cliquez sur Suivant.

    • Sous l’onglet Profils publics , activez la case à cocher du profil que vous souhaitez configurer, puis cliquez sur Suivant.

    • Dans la page Terminer l’Assistant, passez en revue les actions à effectuer, puis cliquez sur Terminer pour finaliser la configuration du profil.

Utilisation de Transact-SQL

Pour créer un profil privé dans Database Mail

  • Connectez-vous à l’instance SQL Server.

  • Pour créer un profil, exécutez la procédure stockée système sysmail_add_profile_sp (Transact-SQL) comme suit :

    EXECUTEmsdb.dbo.sysmail_add_profile_sp

    @profile_name = 'Nom du profil'

    @description = 'Description'

    @profile_name est le nom du profil et @description est la description du profil. Ce paramètre est facultatif.

  • Pour chaque compte, exécutez la procédure stockée sysmail_add_profileaccount_sp (Transact-SQL) comme suit :

    EXECUTEmsdb.dbo.sysmail_add_profileaccount_sp

    @profile_name = 'Nom du profil'

    @account_name = 'Nom du compte'

    @sequence_number = 'numéro de séquence du compte dans le profil. '

    @profile_name est le nom du profil et @account_name est le nom du compte à ajouter au profil, @sequence_number détermine l’ordre dans lequel les comptes sont utilisés dans le profil.

  • Pour chaque rôle de base de données ou utilisateur qui envoie du courrier à l’aide de ce profil, accordez l’accès au profil. Pour ce faire, exécutez la procédure stockée sysmail_add_principalprofile_sp (Transact-SQL) comme suit :

    EXECUTEmsdb.sysmail_add_principalprofile_sp

    @profile_name = 'Nom du profil'

    @ principal_name = 'Nom de l’utilisateur ou du rôle de base de données'

    @is_default = 'État du profil par défaut '

    @profile_name est le nom du profil et @principal_name est le nom de l’utilisateur ou du rôle de base de données, @is_default détermine si ce profil est la valeur par défaut pour l’utilisateur ou le rôle de base de données.

L’exemple suivant crée un compte de messagerie de base de données, crée un profil privé de messagerie de base de données, puis ajoute le compte au profil et accorde l’accès au profil au rôle de base de données DBMailUsers dans la base de données 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 ;  

Pour créer un profil public de Database Mail

  • Connectez-vous à l’instance SQL Server.

  • Pour créer un profil, exécutez la procédure stockée système sysmail_add_profile_sp (Transact-SQL) comme suit :

    EXECUTEmsdb.dbo.sysmail_add_profile_sp

    @profile_name = 'Nom du profil'

    @description = 'Description'

    @profile_name est le nom du profil et @description est la description du profil. Ce paramètre est facultatif.

  • Pour chaque compte, exécutez la procédure stockée sysmail_add_profileaccount_sp (Transact-SQL) comme suit :

    EXECUTE msdb.dbo.sysmail_add_profileaccount_sp

    @profile_name = 'Nom du profil'

    @account_name = 'Nom du compte'

    @sequence_number = 'numéro de séquence du compte dans le profil. '

    @profile_name est le nom du profil et @account_name est le nom du compte à ajouter au profil, @sequence_number détermine l’ordre dans lequel les comptes sont utilisés dans le profil.

  • Pour accorder l’accès public, exécutez la procédure stockée sysmail_add_principalprofile_sp (Transact-SQL) comme suit :

    EXECUTEmsdb.sysmail_add_principalprofile_sp

    @profile_name = 'Nom du profil'

    @ principal_name = 'public ou 0'

    @is_default = 'État du profil par défaut '

    @profile_name est le nom du profil et @principal_name pour indiquer qu’il s’agit d’un profil public, @is_default détermine si ce profil est la valeur par défaut de l’utilisateur ou du rôle de base de données.

L’exemple suivant crée un compte de messagerie de base de données, crée un profil privé de messagerie de base de données, puis ajoute le compte au profil et accorde un accès public au profil.

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