Como criar perfis públicos do Database Mail (Transact-SQL)

Use o Assistente para Configuração ou os procedimentos armazenados do Database Mail para criar perfis públicos do Database Mail. Um perfil público permite a qualquer usuário acessar o banco de dados msdb para enviar emails usando o perfil.

Para criar um perfil público do Database Mail usando Transact-SQL

  1. Crie uma ou mais contas do Database Mail para o perfil. Para obter mais informações sobre como criar contas do Database Mail, consulte Como criar contas do Database Mail (Transact-SQL).

  2. Execute o procedimento armazenado msdb.dbo.sysmail_add_profile_sp para criar o perfil, especificando:

    • O nome do perfil a criar.

    • Uma descrição opcional do perfil.

  3. Para cada conta, execute msdb.dbo.sysmail_add_profileaccount_sp para adicionar a conta ao perfil.

  4. Conceda acesso público ao perfil executando msdb.sysmail_add_principalprofile_sp com 'public' como @principal_name ou 0 como @principal_id.

Exemplo

O exemplo a seguir cria uma conta e um perfil do Database Mail. No exemplo, a conta é então adicionada ao perfil, concedendo acesso ao perfil a todos os usuários do banco de dados msdb.

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