我正在尝试向自己发送短信,但我无法在消息中实现换行符。 我可以在电子邮件中使用 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 += 'rn';
-- 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 行的查询,并将结果中的每一行都设置在文本消息中的新行上。
我偶然发现了解决方案:
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;