Anuncios

IT Certification Category (Spanish)468x60

miércoles, 6 de abril de 2011

Envío de emails usando SQL Server



En este artículo trataremos el tema de como enviar mensajes a través de SQL Server 2008 utilizando un procedimiento almacenado.


Nota: Antes de continuar debe haber configurado Database Mail: Configuración de Database Mail [SQL Server]


El procedimiento que es utilizado para enviar mensajes está en la base de datos msdb, así también las tablas que interactuan con este proceso, para ejecutarlo debemos hacer referencia a dicha base de datos.

Sintaxis:

USE msdb
GO
execute sp_send_dbmail @profile_name=',
@recipients='',
@copy_recipients = '',
@subject='',
@body=''
@body_format = ''

Cabe destacar que el formato del cuerpo cuando elegimos HTML podemos poner todos los tags conocidos dentro del cuerpo (

, etc.).



Siguiendo la configuración de perfil realizada como prueba en el tutorial: Configuración de Database Mail [SQL Server]
entonces realizamos las pruebas de la siguiente forma:


USE msdb
GO

 
execute sp_send_dbmail @profile_name='IT_Teach',
@recipients='webmaster@itteach.net',
@copy_recipients = 'soporte@itteach.net',
@subject='Nuevas publicaciones!',
@body='Se ha publicado nuevo contenido en el área de PHP, favor visitar: http://itteach.net/PHP.aspx' ,
@body_format = 'TEXT'


El motor de base de datos nos dirá:   Correo en cola.


Podemos consultar la vista sysmail_allitems para ver los mensajes enviados, sin importar el estado (fallido o satisfactorio). También podemos consultar la tabla sysmail_sentitems donde solo aparecerán aquellos correos que hayan llegado bien.

Cabe destacar que SQL Server no valida si la cuenta existe o no para poner el estado "sent", lo pone de igual forma, excepto si existe algún problema con el servidor de correos o mala configuración del perfil utilizado. En todo caso en caso de indicar una cuenta falsa, a la bandeja de entrada o correo no deseado (dependiendo de la seguridad) de la cuenta que se utilizo durante la cración del perfil, le llegará un correo indicando un error ya que la cuenta no pudo ser encontrada.


Resultado del envío:



Publicado por: Willy Taveras 

People who read this post also read :