Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So senden Sie eine HTML-E-Mail von SQL Server (T-SQL)

Die Datenbank-E-Mail von SQL Server verfügt über eine gespeicherte Prozedur namens sp_send_dbmail die Sie verwenden können, um E-Mails von SQL Server zu senden.

Standardmäßig werden E-Mails als Text gesendet, aber Sie können dies leicht ändern, sodass sie im HTML-Format gesendet werden.

Das @body_format Argument ist das, was Sie verwenden, um auf das HTML-Format umzuschalten.

Beispiel

Hier ist ein Beispiel für das Senden einer HTML-E-Mail.

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

Der Teil, der @body_format = 'HTML' lautet sendet die E-Mail im HTML-Format.

In diesem Beispiel habe ich eine triviale Menge an HTML angewendet. Ich habe einfach das Wort Admin eingeschlossen in <strong> Stichworte. Ich habe es so einfach wie möglich gehalten, damit das Beispiel leicht zu lesen ist.

Speichern Sie den HTML-Code in einer Variablen

Im vorherigen Beispiel habe ich den HTML-Code direkt auf @body angewendet Streit. Dies war angesichts der Kürze des Körperinhalts kein großes Problem. Aber es ist schön, den HTML-Code von sp_send_dbmail zu trennen Verfahren.

Dazu können wir den HTML-Code in einer Variablen speichern und diese Variable dann als Wert für @body verwenden Argument.

So:

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

Eine vollständige Liste der HTML-Elemente finden Sie unter HTML-Tags drüben bei Quackit.