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
|
|
|
Si es la primera vez que configura el servicio, entonces debes activarlo dando click en la opción “yes” |
|
|
|
|
|
|
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:
|
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