sql-server - 短信中的 sp_send_dbmail 和换行符
问题描述
我正在尝试向自己发送一条短信,但无法在消息中实现换行符。我可以在使用 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 行的查询,并将结果集中的每一行放在文本消息的新行上。
解决方案
我偶然发现了解决方案:
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;
推荐阅读
- java - SpringBoot:以最少的配置运行 Junit 单元测试
- python - Django 与管理面板显示的多对多关系
- php - 如何使用递归用户定义函数模拟 array_reverse()?
- javascript - Vue.js v-bind:值不显示值
- sql - 如何在 CloudFoundry 上部署 Column View 工件
- c# - 使用 ID 列表过滤的 Elasticsearch 多重匹配
- java - GeoMap 未正确居中
- wordpress - 我想创建一个 Wordpress 存档页面,该页面显示带有匹配查询变量的标签的帖子。是否有任何插件可以帮助我做到这一点?
- ios - 我如何通过一些快速登录来使应用程序崩溃?
- python - 蟒蛇健身房。看不到环境