Cómo crear perfiles privados de Correo electrónico de base de datos (Transact-SQL)

Utilice el Asistente para configuración del Correo electrónico de base de datos o los procedimientos almacenados del Correo electrónico de base de datos para crear perfiles privados de Correo electrónico de base de datos con el fin de enviar correo electrónico mediante SMTP (Protocolo simple de transferencia de correo). Un perfil privado puede ser utilizado por un usuario o por una función. Al conceder a las funciones derechos de acceso a los perfiles, se crea una arquitectura más fácil de mantener.

Para crear un perfil de Correo electrónico de base de datos mediante Transact-SQL

  1. Cree una o varias cuentas de Correo electrónico 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; para ello, especifique lo siguiente:

    • El nombre del perfil que se va a crear.

    • Opcionalmente, una descripción del perfil.

  3. Ejecute msdb.dbo.sysmail_add_profileaccount_sp para cada cuenta con el fin de agregarla al perfil.

  4. Otorgue acceso al perfil a cada usuario o función de base de datos que vaya a enviar correo electrónico mediante este perfil. Para ello, ejecute msdb.sysmail_add_principalprofile_sp.

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 para la función de base de datos DBMailUsers en la base de datos msdb.

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