发送 HTML 电子邮件

HTML 内容必须传递给 sp_send_dbmail

Version >= SQL Server 2012

DECLARE @html VARCHAR(MAX);
SET @html = CONCAT
(
    '<html><body>',
    '<h1>Some Header Text</h1>',
    '<p>Some paragraph text</p>',
    '</body></html>'
)

Version < SQL Server 2012

DECLARE @html VARCHAR(MAX);
SET @html =
    '<html><body>' +
    '<h1>Some Header Text</h1>' +
    '<p>Some paragraph text</p>' +
    '</body></html>';

然后将 @html 变量与 @body argument 一起使用。HTML 字符串也可以直接传递给 @body,尽管它可能使代码更难阅读。

EXEC msdb.dbo.sp_send_dbmail 
    @recipients='recipient@someaddress.com',  
    @subject = 'Some HTML content',  
    @body = @html,  
    @body_format = 'HTML';