Objetos de configuración de Correo electrónico de base de datosDatabase Mail Configuration Objects

Correo electrónico de base de datos tiene dos objetos de configuración. Los objetos de configuración de base de datos proporcionan una manera de configurar los valores que Correo electrónico de base de datos debe usar al enviar un correo electrónico de la aplicación de base de datos o el Agente SQL ServerSQL Server .Database Mail has two configuration objects: The database configuration objects provide a way for you to configure the settings that Database mail should use when sending an email from your database application or SQL ServerSQL Server Agent.

  • Cuentas de Correo electrónico de base de datosDatabase Mail accounts

  • Perfiles de Correo electrónico de base de datosDatabase Mail profiles

Relación de objetos de configuración de Correo electrónico de base de datos Database Mail Configuration Object Relationship

En la siguiente ilustración se muestran dos perfiles, tres cuentas y tres usuarios.The illustration shows two profiles, three accounts, and three users. El usuario 1 tiene acceso al perfil 1, que usa la cuenta 1 y la cuenta 2.User 1 has access to Profile 1, which uses Account 1 and Account 2. El usuario 3 tiene acceso al perfil 2, que usa la cuenta 2 y la cuenta 3.User 3 has access to Profile 2, which uses Account 2 and Account 3. El usuario 2 tiene acceso al perfil 1 y al perfil 2.User 2 has access to both Profile 1 and Profile 2.

Relación de usuarios, perfiles y cuentasRelationship of users, profiles, and accounts

Cuenta de Correo electrónico de base de datos Database Mail Account

Una cuenta del Correo electrónico de base de datos contiene la información que Microsoft SQL ServerSQL Server usa para enviar mensajes de correo electrónico a un servidor SMTP.A Database Mail account contains the information that Microsoft SQL ServerSQL Server uses to send e-mail messages to an SMTP server. Cada cuenta contiene información para un servidor de correo electrónico.Each account contains information for one e-mail server.

Correo electrónico de base de datos permite el uso de tres métodos de autenticación para comunicarse con un servidor SMTP:A Database Mail supports three methods of authentication to communicate with an SMTP server:

  • Autenticación de Windows: el Correo electrónico de base de datos utiliza las mismas credenciales de la cuenta de servicio de Windows Motor de base de datos de SQL ServerSQL Server Database Engine para la autenticación en el servidor SMTP.Windows Authentication: Database Mail uses the credentials of the Motor de base de datos de SQL ServerSQL Server Database Engine Windows service account for authentication on the SMTP server.

  • Autenticación básica: el Correo electrónico de base de datos utiliza el nombre de usuario y la contraseña especificados para la autenticación en el servidor SMTP.Basic Authentication: Database Mail uses the username and password specified to authenticate on the SMTP server.

  • Autenticación anónima: el servidor SMTP no requiere autenticación.Anonymous Authentication: The SMTP server does not require any authentication. Correo electrónico de base de datos no utilizará ninguna credencial para la autenticación en el servidor SMTP.Database Mail will not use any credentials to authenticate on the SMTP server.

    La información de la cuenta se almacena en la base de datos msdb .Account information is stored in the msdb database. Cada cuenta contiene la siguiente información:Each account consists of the following information:

  • El nombre de la cuenta.The name of the account.

  • La descripción de la cuenta.A description of the account.

  • La dirección de correo electrónico de la cuenta.The e-mail address of the account.

  • El nombre para mostrar de la cuenta.The display name for the account.

  • La dirección de correo electrónico que se utilizará como información de "Responder a" para la cuenta.The e-mail address to use as the reply-to information for the account.

  • El nombre del servidor de correo electrónico.The name of the e-mail server.

  • El tipo de servidor de correo electrónico.The type of the e-mail server. Para MicrosoftMicrosoft SQL ServerSQL Server, siempre es el Protocolo simple de transferencia de correo (SMTP).For MicrosoftMicrosoft SQL ServerSQL Server, this is always Simple Mail Transfer Protocol(SMTP).

  • El número de puerto del servidor de correo electrónico.The port number of the e-mail server.

  • Una columna de tipo bit que indica si se ha realizado la conexión al servidor de correo SMTP con SSL (Capa de sockets seguros).A bit column indicating whether the connection to the SMTP mail server is made using Secure Sockets Layer (SSL).

  • Una columna de tipo bit que indica si se ha realizado la conexión al servidor SMTP con las credenciales configuradas para el Motor de base de datos de SQL ServerSQL Server Database Engine.A bit column indicating whether the connection to the SMTP server is made using the credentials configured for the Motor de base de datos de SQL ServerSQL Server Database Engine.

  • El nombre de usuario que se utiliza para la autenticación en el servidor de correo electrónico, si éste requiere autenticación.The user name to use for authentication to the e-mail server, if the e-mail server requires authentication.

  • La contraseña que se utiliza para la autenticación en el servidor de correo electrónico, si éste requiere autenticación.The password to use for authentication to the e-mail server, if the e-mail server requires authentication.

    El Asistente para configuración de Correo electrónico de base de datos proporciona una forma adecuada de crear y administrar cuentas.The Database Mail Configuration Wizard provides a convenient way to create and manage accounts. También puede usar los procedimientos almacenados de configuración de msdb para crear y administrar cuentas.You can also use the configuration stored procedures in msdb to create and manage accounts.

Perfil de Correo electrónico de base de datos Database Mail Profile

Un perfil del Correo electrónico de base de datos es una colección ordenada de cuentas relacionadas del Correo electrónico de base de datos.A Database Mail profile is an ordered collection of related Database Mail accounts. Las aplicaciones que envían correo electrónico a través de Correo electrónico de base de datos especifican perfiles, en lugar de usar cuentas directamente.Applications that send e-mail using Database Mail specify profiles, instead of using accounts directly. Separar la información acerca de los servidores de correo electrónico individuales de los objetos que utiliza la aplicación supone una mejora de flexibilidad y confiabilidad: los perfiles proporcionan conmutación automática por error, de modo que, si un servidor deja de responder, Correo electrónico de base de datos puede enviar automáticamente correo a otro servidor de correo electrónico.Separating information about the individual e-mail servers from the objects that the application uses improves flexibility and reliability: profiles provide automatic failover, so that if one e-mail server is unresponsive, Database Mail can automatically send mail to another e-mail server. Los administradores de bases de datos pueden agregar, quitar o volver a configurar cuentas sin tener que modificar el código de aplicación o los pasos de trabajo.Database administrators can add, remove, or reconfigure accounts without requiring changes to application code or job steps.

Los perfiles también ayudan a los administradores de bases de datos a controlar el acceso al correo electrónico.Profiles also help database administrators control access to e-mail. Para poder enviar Correo electrónico de base de datos, es necesario ser miembro de la función DatabaseMailUserRole .Membership in the DatabaseMailUserRole is required to send Database Mail. Los perfiles proporcionan a los administradores mayor flexibilidad para controlar quién envía correo y qué cuentas se usan.Profiles provide additional flexibility for administrators to control who sends mail and which accounts are used.

Un perfil puede ser público o privado.A profile may be public or private.

Losperfiles públicos están disponibles para todos los miembros del rol de base de datos DatabaseMailUserRole de la base de datos msdb .Public profiles are available for all members of the DatabaseMailUserRole database role in the msdb database. Permiten que todos los miembros del rol DatabaseMailUserRole envíen correo electrónico usando el perfil.They allow all members of the DatabaseMailUserRole role to send e-mail using the profile.

Losperfiles privados se definen para las entidades de seguridad en la base de datos msdb .Private profiles are defined for security principals in the msdb database. Solo determinados usuarios de base de datos, roles y miembros del rol fijo de servidor sysadmin pueden enviar correo electrónico usando el perfil.They allow only specified database users, roles, and members of the sysadmin fixed server role to send e-mail using the profile. De manera predeterminada, un perfil es privado y concede acceso solo a los miembros del rol fijo de servidor sysadmin .By default, a profile is private, and allows access only to members of the sysadmin fixed server role. Para usar un perfil privado, sysadmin debe otorgar permiso de usuario al perfil.To use a private profile, sysadmin must grant users permission to use the profile. Además, el permiso EXECUTE en el procedimiento almacenado sp_send_dbmail solo se otorga a los miembros de DatabaseMailUserRole.Additionally, EXECUTE permission on the sp_send_dbmail stored procedure is only granted to members of the DatabaseMailUserRole. Para que un usuario pueda enviar mensajes de correo electrónico, el administrador del sistema debe agregar el usuario al rol de base de datos DatabaseMailUserRole .A system administrator must add the user to the DatabaseMailUserRole database role for the user to send e-mail messages.

Los perfiles mejoran la confiabilidad en los casos en que un servidor de correo electrónico no está disponible o no puede procesar mensajes.Profiles improve reliability in cases where an e-mail server becomes unreachable or unable to process messages. Cada cuenta del perfil tiene un número de secuencia.Each account in the profile has a sequence number. El número de secuencia determina el orden en que el Correo electrónico de base de datos utiliza las cuentas en el perfil.The sequence number determines the order in which Database Mail uses accounts in the profile. En el caso de un mensaje de correo electrónico nuevo, el Correo electrónico de base de datos utiliza la última cuenta que envió un mensaje correctamente o la cuenta con el número de secuencia más bajo si aún no se ha enviado ningún mensaje.For a new e-mail message, Database Mail uses the last account that sent a message successfully, or the account that has the lowest sequence number if no message has yet been sent. Si la cuenta genera un error, el Correo electrónico de base de datos utiliza la cuenta con el siguiente número de secuencia superior y así sucesivamente hasta que el Correo electrónico de base de datos envía el mensaje correctamente o la cuenta con el número de secuencia superior genera un error.Should that account fail, Database Mail uses the account with the next highest sequence number, and so on until either Database Mail sends the message successfully, or the account with the highest sequence number fails. Si la cuenta con el número de secuencia superior genera un error, el Correo electrónico de base de datos pausa los intentos de envío del correo electrónico durante la cantidad de tiempo configurada en el parámetro AccountRetryDelay de sysmail_configure_spy, después, inicia el proceso de nuevo intento de envío del correo electrónico comenzando por el número de secuencia más bajo.If the account with the highest sequence number fails, the Database Mail pauses attempts to send the mail for the amount of time configured in the AccountRetryDelay parameter of sysmail_configure_sp, then starts the process of attempting to send the mail again, starting with the lowest sequence number. Use el parámetro AccountRetryAttempts de sysmail_configure_sppara configurar el número de veces que el proceso de correo electrónico externo intenta enviar el mensaje de correo electrónico con cada cuenta del perfil especificado.Use the AccountRetryAttempts parameter of sysmail_configure_sp, to configure the number of times that the external mail process attempts to send the e-mail message using each account in the specified profile.

Si hay más de una cuenta con el mismo número de secuencia, el Correo electrónico de base de datos solo utiliza una de estas cuentas para un mensaje de correo electrónico determinado.If more than one account exists with the same sequence number, Database Mail only uses one of those accounts for a given e-mail message. En este caso, el Correo electrónico de base de datos no confirma qué cuenta se va a usar para el número de secuencia o que se vaya a usar la misma cuenta de un mensaje a otro.In this case, Database Mail makes no guarantees as to which of the accounts is used for that sequence number or that the same account is used from message to message.

Tareas de configuración de Correo electrónico de base de datos Database Mail Configuration Tasks

En la tabla siguiente se describen las tareas de configuración de Correo electrónico de base de datos.The following table describes the Database Mail configuration tasks.

Tarea de configuraciónConfiguration Task Vínculo de temaTopic Link
Describe cómo crear cuentas de Correo electrónico de base de datosDescribes how to create a Database Mail accounts Crear una nueva cuenta de Correo electrónico de base de datosCreate a Database Mail Account
Describe cómo crear perfiles de Correo electrónico de base de datosDescribes how to Create Database Mail profiles Crear un perfil de correo electrónico de base de datosCreate a Database Mail Profile
Describe cómo configurar Correo electrónico de base de datosDescribes how to Configure Database mail Configuración de Correo electrónico de base de datosConfigure Database Mail
Describe cómo crear un script para la configuración de Correo electrónico de base de datos mediante plantillasDescribes how to create a Database Mail configuration script using templates

Tareas de configuración adicionales de base de datos (procedimientos almacenados del sistema) Additional Database Configuration Tasks (System Stored Procedures)

Los procedimientos almacenados de configuración del Correo electrónico de base de datos se encuentran en la base de datos msdb .Database Mail configuration stored procedures are located in the msdb database.

En las siguientes tablas se indican los procedimientos almacenados que se usan para configurar y administrar el Correo electrónico de base de datos.The following tables list the stored procedures used for configuring and managing Database Mail.

Configuración de Correo electrónico de base de datosDatabase Mail Settings

NombreName DescripciónDescription
sysmail_configure_sp (Transact-SQL)sysmail_configure_sp (Transact-SQL) Cambia los valores de configuración de Correo electrónico de base de datos.Changes configuration settings for Database Mail.
sysmail_help_configure_sp (Transact-SQL)sysmail_help_configure_sp (Transact-SQL) Muestra la configuración del Correo electrónico de base de datos.Displays configuration settings for Database Mail.

Cuentas y perfilesAccounts and Profiles

NombreName DescripciónDescription
sysmail_add_profileaccount_sp (Transact-SQL)sysmail_add_profileaccount_sp (Transact-SQL) Agrega una cuenta de correo a un perfil del Correo electrónico de base de datos.Adds a mail account to a Database Mail profile.
sysmail_delete_account_sp (Transact-SQL)sysmail_delete_account_sp (Transact-SQL) Elimina una cuenta del Correo electrónico de base de datos.Deletes a Database Mail account.
sysmail_delete_profile_sp (Transact-SQL)sysmail_delete_profile_sp (Transact-SQL) Elimina un perfil del Correo electrónico de base de datos.Deletes a Database Mail profile.
sysmail_delete_profileaccount_sp (Transact-SQL)sysmail_delete_profileaccount_sp (Transact-SQL) Quita una cuenta de un perfil del Correo electrónico de base de datos.Removes an account from a Database Mail profile.
sysmail_help_account_sp (Transact-SQL)sysmail_help_account_sp (Transact-SQL) Muestra información sobre las cuentas del Correo electrónico de base de datos.Lists information about Database Mail accounts.
sysmail_help_profile_sp (Transact-SQL)sysmail_help_profile_sp (Transact-SQL) Muestra información sobre uno o varios perfiles del Correo electrónico de base de datos.Lists information about one or more Database Mail profiles.
sysmail_help_profileaccount_sp (Transact-SQL)sysmail_help_profileaccount_sp (Transact-SQL) Muestra las cuentas asociadas con uno o varios perfiles del Correo electrónico de base de datos.Lists the accounts associated with one or more Database Mail profiles.
sysmail_update_account_sp (Transact-SQL)sysmail_update_account_sp (Transact-SQL) Actualiza la información de una cuenta existente del Correo electrónico de base de datos.Updates the information in an existing Database Mail account.
sysmail_update_profile_sp (Transact-SQL)sysmail_update_profile_sp (Transact-SQL) Cambia la descripción o el nombre de un perfil del Correo electrónico de base de datos.Changes the description or name of a Database Mail profile.
sysmail_update_profileaccount_sp (Transact-SQL)sysmail_update_profileaccount_sp (Transact-SQL) Actualiza el número de secuencia de una cuenta de un perfil del Correo electrónico de base de datos.Updates the sequence number of an account within a Database Mail profile.

SeguridadSecurity

NombreName DescripciónDescription
sysmail_add_principalprofile_sp (Transact-SQL)sysmail_add_principalprofile_sp (Transact-SQL) Concede permiso a una entidad de seguridad de base de datos para utilizar un perfil del Correo electrónico de base de datos.Grants permission for a database principal to use a Database Mail profile.
sysmail_delete_principalprofile_sp (Transact-SQL)sysmail_delete_principalprofile_sp (Transact-SQL) Quita el permiso a un usuario de base de datos para utilizar un perfil público o privado del Correo electrónico de base de datos.Removes permission for a database user to use a public or private Database Mail profile.
sysmail_help_principalprofile_sp (Transact-SQL)sysmail_help_principalprofile_sp (Transact-SQL) Muestra información de perfiles del Correo electrónico de base de datos a un usuario determinado de la base de datos.Lists Database Mail profile information for a given database user.
sysmail_update_principalprofile_sp (Transact-SQL)sysmail_update_principalprofile_sp (Transact-SQL) Actualiza la información de permisos para un usuario determinado de la base de datos.Updates the permission information for a given database user.

Estado del sistemaSystem State

NombreName DescripciónDescription
sysmail_start_sp (Transact-SQL)sysmail_start_sp (Transact-SQL) Inicia el programa externo de Correo electrónico de base de datos y la cola asociada de SQL Service Broker.Starts the Database Mail external program and the associated SQL Service Broker queue.
sysmail_stop_sp (Transact-SQL)sysmail_stop_sp (Transact-SQL) Detiene el programa externo de Correo electrónico de base de datos y la cola asociada de SQL Service Broker.Stops the Database Mail external program and the associated SQL Service Broker queue.
sysmail_help_status_sp (Transact-SQL)sysmail_help_status_sp (Transact-SQL) Indica si se ha iniciado el Correo electrónico de base de datos.Indicates if Database Mail is started.

Referencias adicionales Additional References