Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come inviare un'e-mail HTML da SQL Server (T-SQL)

Posta database di SQL Server dispone di una procedura memorizzata denominata sp_send_dbmail che puoi utilizzare per inviare e-mail da SQL Server.

Per impostazione predefinita, le email vengono inviate come testo, ma puoi facilmente modificarlo, in modo che vengano inviate in formato HTML.

Il @body_format argomento è ciò che usi per passare al formato HTML.

Esempio

Ecco un esempio di invio di un'e-mail 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 che va @body_format = 'HTML' è ciò che invia l'e-mail in formato HTML.

In questo esempio, ho applicato una quantità insignificante di HTML. Ho semplicemente racchiuso la parola Admin in <strong> tag. L'ho mantenuto il più semplice possibile in modo che sia facile leggere l'esempio.

Salva l'HTML in una variabile

Nell'esempio precedente, ho applicato il codice HTML direttamente a @body discussione. Questo non era un gran problema, data la brevità del contenuto del corpo. Ma è bello separare il codice HTML da sp_send_dbmail procedura.

Per fare ciò, possiamo salvare il codice HTML in una variabile, quindi utilizzare quella variabile come valore per @body argomento.

In questo modo:

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';

Per un elenco completo degli elementi HTML, vedere Tag HTML su Quackit.