Hay ocasiones en las cuales se solicita por parte del usuario el envió de alertas o reportes vía correo electrónico, por lo cual una opción rápida de desarrollar y sin tener que crearla del lado de la aplicación es mediante SQL SERVER, pero para esto creándolo con formato HTML y en este caso utilice una cuadricula para mostrar los resultados, pero pueden aplicar cualquier etiqueta deseada de html en el envió del correo.
Los pasos a seguir son:
1-declaramos una variable, la cual contendrá la información con las etiquetas html:
DECLARE @tablaHTML NVARCHAR(MAX) ;
2-cargamos la variable con los datos a enviar:
SET @tablaHTML =
N'<H1>Titulo deseado del reporte</H1>' +
N'<table border="1">' +
N'<tr><th>Columna1</th><th>columna2</th>' +
N'<th>columna3</th>' +
N'</tr>' +
CAST ( ( SELECT td = Columna1, '',
td = Columna2, '',
td = Columna3, ''
From dbo.TablaDeDatosDeseados
FOR XML PATH('tr'), TYPE
) AS NVARCHAR(MAX) ) +
N'</table>' ;
3-Ejecutamos el procedimiento almacenado que envía el correo, con el cuerpo del mensaje pasando la variable que contiene nuestra consulta de la tabla
EXEC msdb.dbo.sp_send_dbmail @recipients='destinatario@tudominio.com',
@profile_name = 'EmailPrueba',@subject = 'Reporte en HTML',
@body = @tablaHTML,
@body_format = 'HTML';
Gracias por tu apotación.
ResponderEliminartest de envio de correo HTML
ResponderEliminar