• Heres an example of a SELECT statement I use and it comes out nicely formatted :-):

    DECLARE @tableHTMLVARCHAR(MAX)

    DECLARE @tEmailListVARCHAR(MAX)

    DECLARE @tProfileVARCHAR(128)

    DECLARE @tEmailSubjectVARCHAR(2048)

    SELECT

    @tEmailList = email_address

    ,@tEmailSubject = CAST(@@SERVERNAME AS VARCHAR(128)) + ' - DB_Admin.dbo.usp_sel_InfoOS'

    ,@tableHTML = N'<H2>Database Report for Server: '

    + @@SERVERNAME + '</H2>'

    + N'<table border="1">'

    + N'<tr>

    <th>Host Name</th>

    <th>OS Name</th>'

    + CAST

    (

    (

    SELECT

    td = [HostName]

    ,''

    ,td = [OSName]

    ,''

    FROM [DB_Admin].[dbo].[tbl_InfoOS]

    FOR XML PATH('tr'), TYPE) AS NVARCHAR(MAX))

    + N'</table>

    This was generated by the <i>DB_Admin.dbo.usp_sel_InfoOS</i> Stored Procedure

    '

    FROM msdb.dbo.sysoperators

    WHERE [name] = 'DBA'

    EXEC msdb.dbo.sp_send_dbmail

    @profile_name = @tProfile

    ,@recipients = @tEmailList

    ,@subject = @tEmailSubject

    ,@body_format = 'html'

    ,@body = @tableHTML