Форматирование рассылки
у меня есть рассылка писем на мыло, редактируется(добавляется строк удаление и т.д.) она через бд MSSQL, подскажите пжл как сделать так что бы текст можно было форматировать Html тегами(жирным, курсив, подчерк. и так далее), что нужно добавить мб, что то подключить что бы я мог бы сделать определенный текст жирным ?
На обычные html теги 0 реакции выводит их как текст.

Ответы (1 шт):
Автор решения: Yitzhak Khabinsky
→ Ссылка
В целом вам нужно сделать две вещи:
- укажите, что электронная почта находится в формате HTML. Пожалуйста, см. T-SQL ниже SQL #1.
- составить тело письма в формате HTML. SQL #2
SQL #1
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'MyTestProfile',
@recipients = '[email protected]',
@subject = 'Daily Backup Status Report',
@body = @MAIL_BODY,
@body_format='HTML'
SQL #2
-- DDL and sample data population, start
DECLARE @tbl TABLE (
ID INT IDENTITY PRIMARY KEY
, state CHAR(2)
, city VARCHAR(30)
);
INSERT INTO @tbl (state, city)
VALUES
('FL', 'Miami')
, ('CA', 'Los Angeles')
, ('TX', 'Austin');
-- DDL and sample data population, end
DECLARE @xhtmlBody XML
, @body NVARCHAR(MAX)
, @tableCaption VARCHAR(30) = 'US states and cities';
SET @xhtmlBody = (SELECT (
SELECT * FROM @tbl FOR XML PATH('row'), TYPE, ROOT('root'))
.query('<html><head>
<meta charset="utf-8"/>
(: including embedded CSS styling :)
<style>table <![CDATA[ {border-collapse: collapse; width: 300px;} ]]>
th <![CDATA[ {background-color: #4CAF50; color: white;} ]]>
th, td <![CDATA[ { text-align: left; padding: 8px;} ]]>
tr:nth-child(even) <![CDATA[ {background-color: #f2f2f2;} ]]>
td:nth-child(3) <![CDATA[ {background-color: red;} ]]>
#green <![CDATA[ {background-color: lightgreen;} ]]>
</style>
</head>
<body>
<table border="1">
<caption><h2>{sql:variable("@tableCaption")}</h2></caption>
<thead>
<tr>
<th>No.</th>
<th>State</th>
<th>City</th>
</tr>
</thead>
<tbody>
{
for $row in /root/row
return <tr>
<td>{data($row/ID)}</td>
<td>{data($row/state)}</td>
<td id="{if ($row/city/text()="Los Angeles") then "green" else ()}">
{data($row/city)}
</td>
</tr>
}
</tbody></table></body></html>'));
SELECT @xhtmlBody;
SET @body = CAST(@xhtmlBody AS NVARCHAR(MAX));
Полный пример здесь: Электронная почта HTML в T-SQL Пожалуйста, проверьте мой ответ для Victor.