web-dev-qa-db-ja.com

SQL Server電子メールはリテラルHTMLを貼り付けます

私のsqlサーバーでHTMLを使用してメールを送信しようとしていますが、メールには正しいフォーマットではなく、入力した内容が表示されるだけです。これをHTMLと表示するために何を変更する必要があるかを誰かに教えてもらえますか

declare @body1 varchar(4000)
set @body1 = '<html>
        <body style="background: #e3e3e3;">
        <center>
        <table style="width: 800px; margin-right: auto; margin-left: auto;">
        <tbody>
        <tr>
        <td colspan="2"><img src="c:\2.png" alt="Image 2" /></br></td>
        </tr>
        </tbody>
        </table>
        </center>
        </body>
        </html>'

EXEC msdb.dbo.sp_send_dbmail
    @profile_name = 'Mod',
    @from_address = '[email protected]',
    @recipients= '[email protected]',
    @subject= 'Test Email', 
    @body = @body1
3

ドキュメント から、@body_formatオプション。

[@ body_format =] 'body_format'メッセージ本文の形式です。パラメータのタイプはvarchar(20)で、デフォルトはNULLです。指定すると、送信メッセージのヘッダーは、メッセージ本文が指定した形式であることを示すように設定されます。パラメータには、次のいずれかの値を含めることができます。TEXT HTMLデフォルトはTEXTです。

HTMLに設定します。

EXEC msdb.dbo.sp_send_dbmail
    @profile_name = 'Mod',
    @from_address = '[email protected]',
    @recipients= '[email protected]',
    @subject= 'Test Email', 
    @body = @body1,
    @body_format = 'HTML'
4
Philᵀᴹ