sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo enviar un correo electrónico HTML desde SQL Server (T-SQL)

El correo de base de datos de SQL Server tiene un procedimiento almacenado llamado sp_send_dbmail que puede usar para enviar correos electrónicos desde SQL Server.

De forma predeterminada, los correos electrónicos se envían como texto, pero puede cambiarlo fácilmente para que se envíen en formato HTML.

El @body_format El argumento es lo que usa para cambiar al formato HTML.

Ejemplo

Este es un ejemplo de cómo enviar un correo electrónico HTML.

EXEC msdb.dbo.sp_send_dbmail
    @profile_name = 'DB Admin Profile',  
    @recipients = '[email protected]',  
    @body = 'Potential candidates for an <strong>Admin</strong> job, perhaps?',
    @body_format = 'HTML',
    @subject = 'As discussed';

La parte que dice @body_format = 'HTML' es lo que envía el correo electrónico en formato HTML.

En este ejemplo, he aplicado una cantidad trivial de HTML. Simplemente he incluido la palabra Admin en <strong> etiquetas Lo he mantenido lo más simple posible para que sea fácil leer el ejemplo.

Guardar el HTML en una variable

En el ejemplo anterior, apliqué el código HTML directamente al @body argumento. Esto no fue un gran problema, dada la brevedad del contenido del cuerpo. Pero es bueno separar el código HTML del sp_send_dbmail procedimiento.

Para hacer esto, podemos guardar el código HTML en una variable, luego usar esa variable como el valor para @body argumento.

Así:

DECLARE @body_content varchar(255);
SET @body_content = 'Potential candidates for an <strong>Admin</strong> job, perhaps?';

EXEC msdb.dbo.sp_send_dbmail
    @profile_name = 'DB Admin Profile',  
    @recipients = '[email protected]',  
    @body = @body_content,
    @body_format = 'HTML',
    @subject = 'As discussed';

Para obtener una lista completa de elementos HTML, consulte Etiquetas HTML en Quackit.