Cómo crear perfiles públicos de Correo eléctronico de base de datos (Transact-SQL)

Para crear perfiles públicos de Correo electrónico de base de datos, utilice el Asistente para configuración de Correo electrónico de base de datos o los procedimientos almacenados de Correo electrónico de base de datos. Los perfiles públicos permiten que cualquier usuario con acceso a la base de datos msdb envíe correo electrónico mediante ese perfil.

Para crear un perfil público de correo de base de datos mediante Transact-SQL

  1. Cree una o varias cuentas de correo de base de datos para el perfil. Para obtener más información acerca de cómo crear cuentas de correo de base de datos, vea Cómo crear cuentas de Correo electrónico de base de datos (Transact-SQL).

  2. Para crear el perfil, ejecute el procedimiento almacenado msdb.dbo.sysmail_add_profile_sp especificando los siguientes elementos:

    • El nombre del perfil que se creará.

    • Una descripción opcional del perfil.

  3. Para cada cuenta, ejecute msdb.dbo.sysmail_add_profileaccount_sp para agregar la cuenta al perfil.

  4. Conceda acceso público al perfil ejecutando msdb.sysmail_add_principalprofile_sp con 'public' como @principal_name, o 0 como @principal_id.

Ejemplo

En el siguiente ejemplo se crea una cuenta y un perfil del Correo electrónico de base de datos. A continuación, el ejemplo agrega la cuenta al perfil y concede acceso al perfil a todos los usuarios de la base de datos 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 ;