h.salman h.salman - 1 year ago 63
HTML Question

SQL Server Database Mail: HTML not rendering in Outlook and gmail

I am using Database Mail in SQL Server and trying to send emails. I have created this simple html message for testing purposes:



declare @body nvarchar(1000)
select @body =

'<html><body>
<h3>Test Email</h3>
<table border="1">
<tr>
<th>ID </th>
<th>Name</th>
</tr>
<tr>
<td>1</td>
<td>John</td>
</tr>
<tr>
<td>2</td>
<td>Marry</td>
</tr>
</table>
</body></html>'

EXEC msdb.dbo.sp_send_dbmail @recipients = 'myemail@gmail.com'
, @subject = 'Test', @body = @body, @reply_to = 'noreply@myserver.com',
@from_address = 'noreply@myserver.com', @profile_name= 'My SMTP'





However, html is not rendered on both Outlook 2013 and Gmail. Its showing this:
enter image description here

Why is it not working?

Answer Source

set body_format property to HTML

EXEC msdb.dbo.sp_send_dbmail @recipients = 'myemail@gmail.com'
, @subject = 'Test', @body = @body, @body_format='HTML', @reply_to = 'noreply@myserver.com', 
@from_address = 'noreply@myserver.com', @profile_name= 'My SMTP'

Run code snippetCopy snippet to answer