How to: Create Database Mail Private Profiles (Transact-SQL)

Użyj Kreatora konfiguracja poczty bazy danych lub procedury poczty bazy danych przechowywane na tworzenie prywatnych profilów poczty bazy danych do wysyłania poczty Simple Mail Transfer protokół (SMTP).Przez użytkownika lub rolę, można użyć profilu prywatnego.Udzielanie ról dostępu do profilów tworzy łatwiej obsługiwane architektury.

Aby utworzyć profilu poczty bazy danych za pomocą kodu języka Transact-SQL

  1. Tworzenie jednego lub kilku kont poczty bazy danych dla tego profilu.Aby uzyskać więcej informacji na temat tworzenia kont poczty bazy danych zobacz How to: Create Database Mail Accounts (Transact-SQL)

  2. Wykonaj procedura przechowywana msdb.dbo.sysmail_add_profile_sp, aby utworzyć profil, określając:

    • Nazwa profilu do utworzenia.

    • Opcjonalny opis profilu.

  3. Dla każdego konta wykonać msdb.dbo.sysmail_add_profileaccount_sp , aby dodać konto do profilu.

  4. Dla każdej rola bazy danych lub użytkownika, który będzie wysyłać wiadomości za pomocą tego profilu należy udzielić dostępu do profilu wykonując msdb.sysmail_add_principalprofile_sp.

Example

Poniższy przykład tworzy kontem pocztowym bazy danych i profilu poczty bazy danych.W przykładzie następnie dodaje konto w profilu oraz udziela dostępu do profilu do DBMailUsers rola bazy danych msdb bazy danych.

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