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

Do tworzenia profilów publicznych poczty bazy danych za pomocą Kreatora konfiguracja poczty bazy danych lub poczta bazy danych przechowywane procedury.Profil publiczny umożliwia każdy użytkownik posiadający dostęp do msdb bazy danych do wysyłania wiadomości e-mail przy użyciu tego profilu.

Aby utworzyć profilu publicznego 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. Udziel dostępu publicznego do profilu wykonując msdb.sysmail_add_principalprofile_sp with 'public' as the @ principal_name, or 0 as the @ principal_id.

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 dla wszystkich użytkowników w msdb bazy danych.

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