Arquitectura del Correo electrónico de base de datos

El Correo electrónico de base de datos consta de los componentes principales siguientes:

  • Componentes de seguridad y configuración

    El Correo electrónico de base de datos almacena información de configuración y seguridad en la base de datos msdb. Los objetos de configuración y seguridad crean perfiles y cuentas usadas por el Correo electrónico de base de datos.

  • Componentes de mensajería

    La base de datos msdb actúa como la base de datos host de correo que contiene los objetos de mensajería que utiliza el Correo electrónico de base de datos para enviar correo electrónico. Estos objetos incluyen el procedimiento almacenado sp_send_dbmail y las estructuras de datos que contienen información acerca de los mensajes.

  • Ejecutable del Correo electrónico de base de datos

    El ejecutable del Correo electrónico de base de datos es un programa externo que lee en una cola de la base de datos msdb y envía mensajes a servidores de correo electrónico.

  • Componentes de registro y auditoría

    El Correo electrónico de base de datos registra información de registro en la base de datos msdb y el registro de eventos de aplicación de Microsoft Windows.

No es necesario disponer de grandes conocimientos sobre la arquitectura de Correo electrónico de base de datos para poder usarlo con eficacia. Sin embargo, conocer los componentes del Correo electrónico de base de datos y saber cómo interactúan puede ayudarle a diseñar aplicaciones y solucionar cualquier problema que surja.

En la siguiente ilustración se muestra información general sobre la arquitectura del Correo electrónico de base de datos.

msdb envía mensajes a un servidor de correo SMTP

El Correo electrónico de base de datos está diseñado en una arquitectura en cola que usa tecnologías de Service Broker. Cuando los usuarios ejecutan sp_send_dbmail, el procedimiento almacenado inserta un elemento en la cola de correo y crea un registro que contiene el mensaje de correo electrónico. La inserción de la nueva entrada en la cola de correo inicia el proceso externo de Correo electrónico de base de datos (DatabaseMail.exe). El proceso externo lee la información de correo electrónico y envía el mensaje de correo electrónico al servidor o servidores de correo electrónico adecuados. El proceso externo inserta un elemento en la cola Estado para el resultado de la operación de envío. La inserción de la nueva entrada en la cola de estado inicia el procedimiento almacenado interno que actualiza el estado del mensaje de correo electrónico. Además de almacenar el mensaje de correo electrónico enviado, o no enviado, el Correo electrónico de base de datos también registra cualquier dato adjunto del correo electrónico en las tablas del sistema. Las vistas del Correo electrónico de base de datos proporcionan el estado de los mensajes para solucionar problemas y los procedimientos almacenados permiten la administración de la cola del Correo electrónico de base de datos.

Sólo los miembros de DatabaseMailUserRole en la base de datos msdb puede ejecutar sp_send_dbmail.