sp_send_dbmail & разрывы строк в текстовом сообщении - PullRequest
0 голосов
/ 10 октября 2019

Я пытаюсь отправить себе текстовое сообщение и не могу достичь разрывов строк в сообщении. Я могу сделать это по электронной почте без проблем, используя HTML, но это не работает для SMS-сообщений.

 DECLARE @TXT_LIST VARCHAR(255);
 DECLARE @TXT_BODY NVARCHAR(MAX);

 SET @TXT_LIST = 'myphonenumber@msg.fi.google.com';

SET @TXT_BODY = 'This should be line 1.';

 -- SET @TXT_BODY += '\n';
 -- SET @TXT_BODY += '\r\n';
 -- SET @TXT_BODY += '<br />';
 -- SET @TXT_BODY += '%0a';

 SET @TXT_BODY += 'This should be line 2.';

 EXEC msdb.dbo.sp_send_dbmail @profile_name='myProfile', @recipients=@TXT_LIST, @body_format='HTML', @subject='Test Subject', @body=@TXT_BODY;

Я перепробовал все методы, которые вы видите выше, которые закомментированы, и всеони отображаются в виде обычного текста на моем телефоне и в одной строке вместо двух.

Конечная цель - запустить запрос, который возвращает число строк X и каждую строку из набора результатов на новой строке втекстовое сообщение.

1 Ответ

0 голосов
/ 10 октября 2019

Я наткнулся на решение:

DECLARE @TXT_LIST NVARCHAR(255);
DECLARE @TXT_BODY NVARCHAR(MAX);
DECLARE @CRLF CHAR(2) = CHAR(13)+CHAR(10);

SET @TXT_LIST = 'myphonemumber@msg.fi.google.com';

SET @TXT_BODY = 'This should be line 1.';

SET @TXT_BODY += @CRLF;

SET @TXT_BODY += 'This should be line 2.';

EXEC msdb.dbo.sp_send_dbmail @profile_name='myProfile', @recipients=@TXT_LIST, @body_format='HTML', @subject='Test Subject', @body=@TXT_BODY;
...