Udostępnij za pośrednictwem


Jak Tworzenie bazy danych profilów publicznych poczty (Transact-SQL)

Użyj Kreatora konfiguracji poczty bazy danych lub procedury przechowywane poczty bazy danych tworzyć profile poczty bazy danych publicznego.Profil publiczny umożliwia dowolnemu użytkownikowi z dostępem do msdb bazy danych do wysyłania wiadomości e-mail przy użyciu tego profilu.

Aby utworzyć profil publiczny poczty bazy danych przy użyciu języka Transact-SQL

  1. Utwórz jedno lub kilka kont poczty bazy danych profilu.Aby uzyskać więcej informacji o tworzeniu kont pocztowych bazy danych, zobacz Jak Tworzenie bazy danych kont pocztowych (Transact-SQL).

  2. Wykonaj procedura składowana msdb.dbo.sysmail_add_profile_sp utworzyć profil, określając:

    • Nazwa profilu.

    • Opcjonalny opis profilu.

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

  4. Udziel dostępu publicznego do profilu przez wykonywanie msdb.sysmail_add_principalprofile_sp z 'public' jako @ principal_name, lub 0 jako @ principal_id.

Przykład

Poniższy przykład tworzy konto pocztowe 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 = 'AdventureWorks2008R2 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 = 'AdventureWorks2008R2 Automated Mailer',
    @mailserver_name = 'smtp.Adventure-Works.com' ;

-- Create a Database Mail profile

EXECUTE msdb.dbo.sysmail_add_profile_sp
    @profile_name = 'AdventureWorks2008R2 Public Profile',
    @description = 'Profile used for administrative mail.' ;

-- Add the account to the profile

EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
    @profile_name = 'AdventureWorks2008R2 Public Profile',
    @account_name = 'AdventureWorks2008R2 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 = 'AdventureWorks2008R2 Public Profile',
    @principal_name = 'public',
    @is_default = 1 ;