Configurando SQL Server 2008 para enviar emails (paso a paso)

Hoy en día la mayorías de las aplicaciones hacen uso de los servicios de Exchange o SMTP para enviar correos electrónicos a los usuarios, en muchas ocasiones el envío del correo lo hacemos a través de la aplicación misma pero existen escenarios en donde es preferible hacer el envío de correos desde nuestro repositorio de datos.

A continuación mostraré paso a paso como configurar el servicio de correos en SQL Server 2008, como asignar permisos a usuarios de base de datos para que utilicen el profile que hemos creado para el envío de correos.

Paso 1: Creación del “Profile” y el “Account”, en el “Managment Studio” click derecho sobre “Database Mail

0[1]
Paso 2
2[1]
Si es la primera vez que configura el servicio, entonces debes activarlo dando click en la opción “yes”3[1]
4[1]
5[1]
6[1]
7[1]
8[1]
9[1]

 

 

 

 

 

 

 

 

 

 

Paso 2: Enviar un Email, despues que la configuracion esta hecha existen dos formas de probar nuestro servicio, el primero es desde la ventana “Send Test Email”  o ejecutando el procedure “sp_send_dbmail” veamos los ejemplos:

10[1]
El envio desde T-SQL es:

EXEC msdb.dbo.sp_send_dbmail @profile_name='BlogProfile',
    @recipients= 'prueba@dominio.com',
    @subject= 'Mensaje de Prueba',
    @body= 'Este es el cuerpo del mensaje y escribo un texto de prueba.'

La lista completa de parametros que recibe este “Store Procedure” puedes conseguirlo desde aquí.

 

Paso 3: Asingación de Permisos, Sucede que esta configuración y la prueba ls hice con un usuario “sysadmin”, pero ni necesitamos que cualquier usuario en nuestra base de datos utilice este “Profile” para enviar email debemos de otorgarle el permiso ejecutando este script:

USE msdb
GO
EXEC sp_adduser @loginame='AQUI VA EL USERNAME', 
@grpname='DatabaseMailUserRole' GO

El administrador de base de datos puede monitorear los mensajes enviados a traves de las siguientes vistas o tablas que estan en la base de datos “MSDB”

  • sysmail_allitems : verifica todos los items enviados.
  • sysmail_faileditems:  los correos que han fallado.
  • sysmail_event_log: El log de eventos de los emails.
  • sysmail_mailattachments: la vista de los attachments.
  • entre otros.

 

** Puedes seguirme en twitter

15 comentarios sobre “Configurando SQL Server 2008 para enviar emails (paso a paso)”

  1. Hola,

    Muy buen artículo, hace un tiempo he publicado acerca de esto en IT Teach, es una nueva página donde pretendemos unificar contenido, blogs, páginas y compartir por el mismo espacio, también de Colaboradores que quieran agregarse a la iniciativa.

    Este es el enlace del artículo: http://itteach.net/sql16.aspx

    Por si quieres agregar alguna información adicional.

  2. Muy buen articulo , muy util
    Muchas gracias por compartir tus conocimientos.

    una pregunta o puedes darme una guia , la idea es enviar un correo dependiendo de una consulta a la base de datos , por ejemplo enviar un correo dependiendo de una fecha en especial , como puedo enviarlo , como podria ser el t-SQL en este caso ???

    saludos

  3. Juan Carlos, si quieres enviar en una consulta, entonces el SQL deberias encapsularlo en un SP y dentro de deste hacer la llamada al envio de correo basado en algun parametro del query.

    Saludos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *