短信

短信是指用户通过手机或其他终端设备发送或者接收的文字或者数字信息,是ShortMessageService的简称。一般长度最大为140个英文或数字字符、70个中文字符。

短信主要通过蜂窝无线网络进行传输,一般情况下短信不需要互联网连接即可发送,其通过基站将信息传递到SMS中心(即SMSC)。SMSC将收到的短信转发到接收设备附近的基站。最后基站将信息发送到接收设备。从上可以看出短信主要依靠蜂窝无线网络,不依赖互联网。

短信数据流向框架如下图。

数据流向说明:

2G时代采用比较复杂的CS/PS域架构,SMS(短信)作为上个世纪的产物,一直寄居在2G的CS域架构下。2G/3G时代网络部署的短信网元为SMSC,主要用于短信的存储和转发,在各运营商中数量众多。

到LTE时代,LTE核心网已经没有了短信业务单元,LTE核心网MME单元和2G的MSC服务器单元通过SGs进行建连,进而实现短信功能。

短信功能实现分为三类:

如下图2-1所示,在2G/3G时代,UE设备通过短信收发机将数据最终发送到SMSC,SMSC将收到的信息转发出去,以此完成短信通信。

如今4G短信网络框架图,如下图2-2所示,UE将短信数据发送到eNodeB,eNodeB将短信数据发送到SMSC,SMSC再将数据发送到接收端。两者的区别在于2G/3G和4G网元结构不同,4G网元以及网络结构在这方面比2G/3G要分类更多些,其通过新建网元IP-SM-GW实现SMS短信收发功能。

目前发送短信消息分为:TEXT模式、块模式和PDU模式。

短信编码方式有:GSM编码方式,IRA8bit编码方式,UCS2编码方式。

由于单条短信底层最多支持140个字节,每个字节8bit。由此可知计算单条短信可发送最大字符数据公式如下:

短信内容最大字符数=140*8/E(E-多少个比特位表示一个字符数据)从上述可知:

GSM编码方式E=7,短信内容最大字节数=140*8/7=160IRA编码方式E=8,短信内容最大字节数=140*8/8=140UCS2编码方式E=16,短信内容最大字节数=140*8/16=70由于QuecPython未开放IRA编码方式,目前仅支持GSM,UCS2编码方式,以下只介绍GSM编码短信和UCS2编码短信。

GSM编码也叫GSM7-bit编码,利用7个bit来表示一个字符,键盘键入字符为标准的ASCII码,ASCII码是8比特数据。在实际发送数据时,只有GSM编码对应的字符值和ASCII编码对应的字符值是相同的才能正确的接收数据,否则会造成发送和接收的数据不一致的情况。GSM编码对应的数值不是ASCII码对高位简单的舍弃,需要自行进行鉴别。GSM7bit编码表参考3GPPTS03.38。

UCS2编码用于发送Unicode字符,一条短信最多可发送70字符。UCS2编码可用于发送中文、英文等各种国家的字符。对于字符数值和UCS2编码对应值有标准的编码规定,可自行查询资料。

短信可以分为TEXT短信,PDU短信和块短信。TEXT简单易实现,但在某些场景中并不能满足需求。PDU短信,实现比较复杂,需要转码,但基本能满足绝大部分场景需求。块短信已经很少用,QuecPython目前不支持此种模式,以下不再介绍此模式。

QuecPython接口发送TEXT短信不需要将TEXT短信内容再进行拆解组合进行发送,只需直接写入发送内容即可,短信内容超过140个字节,QuecPython模组将自动将其转为长短信分为多条短信进行发送(表3-1标注最大字节数超过140个字节的型号)。

在实际发送短信时,键入的数据均为ASCII码,而ASCII码是8比特位字符数据,GSM编码是7比特位字符数据,GSM编码将ASCII码中的一些控制字符表示成了有实际意义的字符数据。在TEXT模式下,GSM编码数据需要保证7比特位的数据数值和ASCII码表中的数值完全一致,才可通过TEXT方式发送短信数据,否则将导致接收端和发送端数据不一致。

QuecPython接口发送PDU短信不再需要将短信内容转成PDU码,底层已完成字段转码,只需直接写入发送内容即可,短信内容超过140个字节,QuecPython模组将自动将其转为长短信分为多条短信进行发送(表3-1标注支持最大短信条数大于1的情况下)。

PDU(ProtocolDataUint,协议数据单元)模式,需将短信内容转换成PDU数据才能进行发送。QuecPython接口已进行了封装,在实际的使用过程中,只需将短信内容直接写入。当调用接口时会自动将短信内容转换成PDU码进行发送,并自动添加短信头部设置。

对于短信功能,PDU类型分为以下几类:

对于移动终端设备,着重介绍SMS-SUBMIT和SMS-DELIVER。其结构如下:

SMS-SUBMIT和SMS-DELIVER类型PDU串格式公有部分介绍,参考3GPPTS03.40第9章。比较重要的DCS涉及到短信压缩、短信类型(共四种类型,规定ME对各类型短信采取的策略),短信编码类型(GSM/UCS2)等设置请参考GSM03.38第4章。

以下介绍简单介绍SMS-SUBMIT,SMS-DELIVER两种类型,详细内容参考3GPPTS03.40协议文档。

PDU类型对于SMS-SUBMIT,结构图如下:

下图为接收到PDU数据格式,可以按照如下格式解析数据,各个字段数值表示可以参考3GPPTS03.40协议文档。

PDU类型对于SMS-DELIVER,结构图如下:

短信网络协议框架如下图:

用户编辑短信完成后,通过移动终端设备主动发送短信数据,网络层回复CP-ACK,随后回复RP-ACK,最后移动终端设备回复CP-ACK。

如下图:

移动设备先从网络侧接收到短信,之后移动设备终端回复CP-ACK报文到网络,当短信解析完成,移动设备终端再次发送RP-ACK,网络层回复CP-ACK。

短信存储位置一般分为SM、ME和MT存储。

目前QuecPython模组仅支持SM或ME存储,二者选一。对于短信数量统计以及功能支持,默认储存情况见下表3-1。

短信在广播,公益信息传播方面有很大的优势,对于一些大型项目是重要的组成部分,以下着重介绍短信的应用。对于esim卡,下载profile一般不会有短信中心码,需要先查询下是否存在短信中心码,若不存在请咨询运营商获取正确的短信中心码进行设置。

此方法用于注册短信回调函数,当用户设备接收到短信时,会通过注册的回调函数来通知当前短信存储位置,以及短信存储位置的索引值。如下示例,如收到一条长短信,分成两条短信到达设备将触发两次回调函数。

注册回调接口如下:

sms.setCallback(usrFun)示例

#-*-coding:UTF-8-*-#示例importsmsdefsms_callback(args):print("GetSIMID:{}".format(args[0]))print("GetMessageindex:{}".format(args[1]))print("GetMessageStorage:{}".format(args[2]))sms.setCallback(sms_callback)短信中心码短信中心码是运营商提供的短信转发中心号码,需从运营商获取。设备先将短信发送到短信服务中心,短信服务中心转发收到的短信到目的设备所在的基站,基站将收到的短信下发到目的设备。短信中心码设置后,将其存入sim卡中,一张sim卡设置一次即可,设置即生效。如需更改可再次设置。

短信中心码获取接口如下:

sms.getCenterAddr()示例

#-*-coding:UTF-8-*-#示例importsmscenter_numer=sms.getCenterAddr()print("Currentcenternumberis:{}".format(center_numer))设置短信中心码设置短信中心码,一定要保证设置的短信中心码是正确的,否则可能导致短信发送失败。不同国家或地区的短信中心码,请联系当地的运营商进行确认。

短信中心码设置接口如下:

sms.setCenterAddr(addr)示例

#-*-coding:UTF-8-*-#示例importsms#获取当前短信中心码center_numer=sms.getCenterAddr()print("Currentcenternumberis:{}".format(center_numer))#设置短信中心码center_number="8613010112512"sms.setCenterAddr(center_number)短信存储位置短信存储位置物理上分为SIM卡、ME。目前仅支持SIM卡存储或ME存储,二者选一,不可同时选择。

短信存储位置从逻辑上分为读取和删除存储区域、发送和写入存储区域、接收存储区域。需接收存储区域、读取和删除存储区域保持一致,才能对接收到的短信进行读取和删除操作。

获取短信存储位置接口入下:

sms.getSaveLoc()示例

#-*-coding:UTF-8-*-#示例importsmssave_info=sms.getSaveLoc()print("Messagereadanddeletelocation:{}".format(save_info[0]))print("Messagewriteandsendlocation:{}".format(save_info[1]))print("Messagerecvandsavelocation:{}".format(save_info[2]))设置存储位置短信接收和删除以及读取,均需要从正确的短信存储位置进行操作,需正确设置短信存储位置,才能正常的进行功能应用。

短信存储位置设置接口如下:

sms.setSaveLoc(mem1,mem2,mem3)示例

发送TEXT短信,发送短信内容超过140字节,则转为长短信自动拆分为多条短信发送(表3-1标注支持最大字节数大于140字节的型号)。

接口如下:

sms.sendTextMsg(phoneNumber,msg,codeMode)示例

#-*-coding:UTF-8-*-#示例importsmssms.sendTextMsg('18158626517','firsttestMessage','GSM')#TEXT短信示例2,通过变量发送数据data="secondtestmessage"sms.sendTextMsg('18158626517',data,'GSM')发送PDU短信发送PDU短信,若短信内容长度超过140字节,则转为长短信自动拆分为多条短信发送(表3-1标注支持最大字节数大于140字节的型号)。

sms.sendPduMsg(phoneNumber,msg,codeMode)示例

#-*-coding:UTF-8-*-#示例importsms#PDU短信示例1,直接填入需要发送的数据sms.sendPduMsg('18158626517','sendpdumsgbyGSMmode.','GSM')#PDU短信示例2,通过变量发送数据data="secondtestpdumessage"sms.sendPduMsg('18158626517',data,'GSM')获取短信数量在实际使用过程中,需要查询当前短信数量,来判断当前短信存储空间是否已满。此接口查询需要注意当前设置的短信储存空间,返回的短信数量为当前的短信存储空间的短信数量。

获取短信当前接收条数接口如下:

sms.getMsgNums()示例

#-*-coding:UTF-8-*-#示例importsms#获取当前短信存储信息save_info=sms.getSaveLoc()#获取SM存储区域短信数量sms.setSaveLoc("SM","SM","SM")print("Currentsaveinfo:{}".format(save_info))#获取当前短信存储位置的短信数量message_count=sms.getMsgNums()print("Currentmessagecount:{}".format(message_count))#获取ME存储区域短信数量sms.setSaveLoc("SM","SM","ME")message_count=sms.getMsgNums()print("Currentmessagecount:{}".format(message_count))读取短信当用户收到短信通知,可以通过以下两个接口来读取信息。分为TEXT读取短信和PDU方式读取短信。当收到长短信时,TEXT读取短信会无法区分顺序,需用PDU方式读取短信,根据短信接收PDU数据格式进行解析,合并,在完整应用示例代码中有对此的演示。

以TEXT方式读取短信内容:

sms.searchTextMsg(index)示例

#-*-coding:UTF-8-*-#示例importsmsmessage_count=sms.getMsgNums()ifmessage_count>0:message_info=sms.searchTextMsg(0)print("GetMessgeindex0info:{}".format(message_info))读取PDU短信以PDU方式读取短信内容:

sms.searchPduMsg(index)示例

#-*-coding:UTF-8-*-#示例importsmsmessage_count=sms.getMsgNums()ifmessage_count>0:pdu_message=sms.searchPduMsg(0)#读取到PDU短信,需要解码pdu_len=sms.getPduLength(pdu_message)message_info=sms.decodePdu(pdu_message,pdu_len)print("GetMessgeindex0info:{}".format(message_info))删除短信当短信存储空间已满时,可能会导致设备接收不到短信,用户可通过以下接口来删除一些短信,释放短信存储空间。

删除短信接口如下:

sms.deleteMsg(index[,delmode])示例

#-*-coding:UTF-8-*-#示例importsms#-------获取当前短信存储信息,确保删除短信位置不会出错save_info=sms.getSaveLoc()print("Willdeletemessagefrom{}filed!".format(save_info[0][0]))#删除短信索引为0的短信sms.deleteMsg(0)#---------指定删除短信存储区域内指定索引的短信数据,以ME存储区域为例-------#步骤1、设置操作短信存储区域为MEsave_info[0][0]="ME"sms.setSaveLoc(save_info[0][0],save_info[1][0],save_info[2][0])#步骤2、设置需要操作的短信索引值,以索引值0为例index=0sms.deleteMsg(index)删除全部短信接口同上,只做如下示例。

#-*-coding:UTF-8-*-#示例importsms#-------获取当前短信存储信息,确保删除短信位置不会出错save_info=sms.getSaveLoc()print("Willdeleteallmessagefrom{}filed!".format(save_info[0][0]))#删除全部短信sms.deleteMsg(1,4)#---------指定删除短信存储区域内所有的短信数据,以ME存储区域为例-------#步骤1、设置操作短信存储区域为MEsave_info[0][0]="ME"sms.setSaveLoc(save_info[0][0],save_info[1][0],save_info[2][0])#步骤2、删除ME存储区域所有接收到的短信index=0sms.deleteMsg(1,4)应用示例长短信合并示例。

SIM卡变更运营商,需和原本运营商和新变更运营商确定短信中心码,进行重设,否则短信功能不正常。

eSIM卡,在下载profile时,可能运营商不预设短信中心码,此时需要和运营商确定短信中心码。

eSIM卡,更换profile时,会导致短信中心码被清除掉,需要重设短信中心码。

SM和ME短信存储空间均已满,导致短信接收不到,只有清除短信,释放短信存储空间才能正常接收到短信。

接收到短信后未读取短信,此时更换了短信读取和删除存储空间,导致短信读取不到,请更换回接收到短信时的短信读取和删除存储空间,进行短信的读取和删除操作。

短信存储空间为SM,SM存储空间已满的情况下,想保留短信同时也保证短信可以正常接收,可以更换短信接收存储空间为ME。如果ME存储空间也已满,只有删除短信,才能正常接收到短信。

设备在无信号环境中收不到短信,请移动设备到运营商信号覆盖范围内,此时才能进行短信的正常收发操作。

由于科技的不断更新进步,短信发送成本越来越低,其在项目中的应用越来越广。常见应用场景如下:

问题1:QuecPython支持是否支持长短信?如果支持,最大短信长度是多少?

QuecPython有很多类型的模组,其中有支持长短信,也有仅支持单条短信的模组型号,具体信息详情请见表3-1。

问题2:QuecPython发送长短信是如何处理的,是分成多包发送还是直接发送一条?

QuecPython长短信会分解为一条条发送。

问题3:QuecPython收到长短信是如何处理?是分开存储为多条短信,还是自动合并成一条短信存储?

QuecPython收到长短信会分开存储。这种情况下需要用PDU方式读取短信,并从PDU编码中用户数据头部信息中抽取短信参考编号、总条数、当前短信序号来进行自行处理。

问题4:发送端显示短信已经发送成功,但是模组端未接收到短信可能是什么原因?

可能有如下几种情况,用户可按照下面几种情况依次排查:

问题5:模组插入SIM卡后,已经可以正常联网,为什么发送短信失败?

THE END
1.ShortMessageService(SMS)Opt短信 语音和视频 聊天 电话呼叫 电子邮件 作业路由器 高级消息传送 托管标识 事件和通知 教程 示例 概念 标识 SMS 概述 短信号码类型 SDK 功能 选择退出 API 定价 消息传递策略 电话号码 事件 分析 SMS 常见问题解答 语音和视频通话 聊天 电话呼叫 电子邮件 作业路由器 高级消息传送 Azure 顾问 资源 参考 下载PDFhttps://learn.microsoft.com/zh-cn/azure/communication-services/concepts/sms/opt-out-api-concept
2.Android封装请求等待框mob64ca13fb1f2e的技术博客# 实现Android网络请求等待框教程## 一、整体流程下面是实现Android网络请求等待框的整体流程:```mermaidjourney title 实现Android网络请求等待框流程 section 定义等待框 定义等待框 --> 显示等待框 显示等待框 --> 发起网络请求 发起网络请求 --> 接收网络请求结果 接收网络请 网络请求 Android java android 耗https://blog.51cto.com/u_16213595/12866383
3.等待手机短信的翻译是:WaitforSMS中文翻译英文意思,翻译英语等待手机短信 青云英语翻译 请在下面的文本框内输入文字,然后点击开始翻译按钮进行翻译,如果您看不到结果,请重新翻译! 翻译结果1翻译结果2翻译结果3翻译结果4翻译结果5 翻译结果1复制译文编辑译文朗读译文返回顶部 Waiting for the SMS 翻译结果2复制译文编辑译文朗读译文返回顶部http://eyu.zaixian-fanyi.com/fan_yi_10427782
4.简易:WhatsApp收不到SMS短信验证码的实用技巧汇总耐心等待:有时 SMS 短信可能会延迟到达,请稍候一段时间再尝试。 切换网络:尝试在 Wi-Fi 和数据流量之间切换,以确保网络稳定。 清理消息存储:如果您的短信收件箱存储已满,可能会影响接收,建议清理存储后重试。 三、语音验证码的使用 当您尝试进行 WhatsApp 注册时,如果 SMS短信仍未送达,可以选择使用语音验证码功https://fuwu.11467.com/info/34008170.htm
5.最新!解决ChatGPT短信验证码接收只需三步购买之后就可以在主页看到我们的号码在等待接收短信。我们要做的就是将号码填入需要接码的平台然后静静地等待验证码的到来即可(如果长时间接不到验证码我们只需点击叉号,费用会实时返还,也可能会有一点点延迟)。 这里还要强调几点(以Open AI)为例: - 我们的号码长这样: https://www.jianshu.com/p/ce0df2dee763
6.iphone铃声目录在哪自定义iphone手机铃声苹果手机手机学院相信很多人都会为如何单独备份你的通讯录、短信、备忘录所烦恼,现在就由我来告诉你。 重刷固件前,请用iFunBox或用iphone folders连接你的小4,连接后就会看到手机里的全部目录,你要备份的文件在 /private/var/mobile目录下的相关目录中~~~ 其中Library下:AddressBook为通讯录、SMS为短信、Notes为备忘录、Calendar为https://m.jb51.net/php/75219
7.阿里云短信接口模板ID申请教程获得阿里云短信模板ID1.登录阿里云短信控制台 https://dysms.console.aliyun.com/ (阿里云短信模板ID) 2.点生成秒传链接的app击左侧国内消息,点击顶部模板管理,点击右侧添加模板 (阿里云短信模板ID) 3.跟着页面提示,输入模板信息 (阿里云短信模板ID) 4.等待审核之后,即可在模板管理列表查看到您的模板ID http://app.applebyme.cn/cloud/wwwinfo/83.html
8.SMS短信错误代码大全SMS短信客户端源码 自己去年开发的一个商业软件,1W行代码,代码比较琐碎,但应该物超所值,请放心下载。 上传者:kbsoft时间:2008-06-28 android-sms短信发送 安卓虚拟平台实现短信的发送功能。具体实现:输入对方电话号码,然后编辑短信内容,选择发送,若发送成功,该代码实现具有提示发送成功功能,等待一会,对方就可以收到并https://www.iteye.com/resource/yayatest-1369929
9.SCF+SMS实现短信验证码功能腾讯云等待正文模板审核,当状态变为已通过时,正文模板才可用,请记录模板 ID。 步骤2:设置短信发送频率限制(可选) 注意: 个人认证用户不支持修改频率限制,如需使用该功能,请将 “个人认证” 变更为 “企业认证”,具体操作请参见实名认证变更指引。 为了保障业务和通道安全,减少业务被刷后的经济损失,建议设置发送频率限制https://intl.cloud.tencent.com/zh/document/product/583/44898
10.smsactive接收不到短信服务商限制:有些网站或应用程序会限制使用虚拟手机号码进行注册或验证,因此可能无法接收到短信。你可以尝试使用其他的短信接收平台或者联系sms-active的客服寻求帮助。 网络延迟:由于网络延迟或其他技术问题,短信可能会有一定的延迟时间才能到达你的虚拟手机号码。你可以等待一段时间再次尝试接收短信。 https://wenku.csdn.net/answer/2zxspue721
11.SMSACTIVATE在线接受短信的虚拟号码SMS ACTIVATE 海外短信验证码 是俄罗斯的一个提供虚拟手机号码验证服务的网站,他提供各个国家的手机号码可用于接收短信验证码、验证电话号码和其他类似的应用场景。通过这种服务,用户可以避免使用他们的真实手机号码来接收这些短信,从而保护他们的隐私和安全。 https://www.mrsmoke.net/utilities/sms-activate-receiving-messages-online-virtual-number.html
12.如果你无法在iPhone或iPad上发送或接收信息如果你看到“正在等待激活”警告,请了解该怎么做 如果你看到红色感叹号 如果你尝试发送信息,却看到红色感叹号 及“尚未送达”警告,请按照以下步骤操作: 检查网络连接。 轻点红色感叹号 ,然后轻点“重试”。 如果仍然无法发送信息,请轻点红色感叹号 ,然后轻点“用短信发送”。这可能会产生短信费用。 https://support.apple.com/zh-cn/HT204065
13.SMSAct短信接码SMS立即体验SMS-Act,全球领先的在线SMS短信接码平台。提供安全可靠的sms activate短信验证码服务,虚拟号码、实体号码,帮助您快速方便接收一次性短信验证码。支持全球多个国家和地区,专注接码,一键接收。享受高效、安全的在线验证体验。https://www.sms-act.net/
14.国外接码平台SMS这里主要介绍一个使用SMS-Activate这个国外手机短信验证码接收平台的教程,文中会涉及到如何在SMS-Activate怎么注册、如何接受短信验证激活、怎么充值、以及收不到短信或者手机号被禁用怎么办等。官方网站:https://sms-activate.org/前些日子为了注册一个ChatGPT,站长我测了不少个免费国外手机短信验证码的接码平台,但都https://ivpsr.com/3657.html
15.使用SMSActivate在线接收短信服务并完成购买流程2、在SMS-Activate平台上,找到你输入的虚拟号码,点击“接收短信”按钮,等待系统接收到验证码。也可以使用Python脚本定期检查并获取短信验证码。 3、将从SMS-Activate收到的验证码输入到相应的验证页面中,完成验证过程。 4、如果长时间未收到验证码,可以尝试刷新页面或更换号码。 https://www.vipshare8.com/sharewz/10104.html
16.SMSActivate,一个好用的短信验证码接收平台有些国外应用在使用应用上的功能时需要注册账号,由于某种不可抗因素,我们的手机号一般不支持注册,接收不到信息验证码,于是我们便可以使用SMS-Activate提供的服务,来实现我们的需求! SMS-Activate提供用于接收来自世界各地短信的虚拟号码,可以使用SMS-Activate提供的号码来注册任何网站和应用程序的账号。若该号码未接收到短https://www.11zhang.com/201.html
17.盒子If PDU mode (+CMGF=0)+CMGS=PDU is given 如果短信息格式指令AT+CMGF返回的是0,则SMS格式为PDU模式,再执行AT+CMGS=<数据长度>命令后,手机返回“>”符号并等待输入,输入PDU数据并以^Z或Esc键结束。 如果信息发送成功,则返回OK,并显示信息号: +CMGS: 如果发送失败,则返回如下信息: +CMS ERROR: http://www.2ccc.com/btdown.asp?articleid=209
18.消息主題:更改SMS文本消息氣泡您必須越獄iPhone才能更改消息主題。 修改後的iPhone使用戶可以更改氣泡的顏色,儘管不建議這樣做。 但是,更改SMS短信氣泡會使您為iPhone添加更個性化的外觀。 步驟1解鎖您的iPhone並啟動Installer。 導航到“源”並點擊“編輯”,然後選擇“添加”。 現在,在窗口中,您需要在打開的欄中輸入http://apptapp.saurik.com”https://zh-tw.aiseesoft.com/resource/message-themes.html
19.国内外短信接码平台合集合集网只列了一些出来,需要更多可以在搜索引擎网站搜关键词“Receive SMS” https://tiger-sms.com/free免费法国号码 FREE NUMBERS:https://tx.me/smsnamtelegram上的国外免费短信验证码接码频道,每4个小时更换一个随机国家号码,只有最新的号码是有效的,短信发送后请等待会自动刷新验证码 https://233heji.com/28.html/comment-page-7
20.接码平台推荐,可接收短信验证码完成验证之后就是国家列表,不同的国家接码的价格不一样,sms activate 支持很多国家的手机号,选择对应国家的号码点击右面的购物车标志下单即可: 成功下单后(如果余额足够支付接码费用),在菜单栏【ACTIVATIONS】里就可以看到这个号码了,如下图,Waiting for SMS 就是等待短信验证码,如果收到短信了就会显示在最后一栏: http://www.pxboy.com/archives/free-1915.html
21.一套解决SpringSecurityOAuth2授权模式扩展以及应用实战添加签名,等待审核通过 签名审核通过之后就可以创建 AccessKey 访问密钥 添加模板, 国内消息 → 模板管理 → 添加模板 签名审核通过后得到 AccessKey 和 模板审核通过得到模板CODE,接下来就可以进行项目整合了。 2.3 SpringBoot 整合阿里云 SMS 短信 SpringBoot 整合 SMS 网上教程很多,这里不画蛇添足,接下来简单说下 https://m.nowcoder.com/discuss/353150447424839680
22.iPhoneSMS恢复:从iPhoneXS/XSMax/XR恢复SMS方法2:使用备份(iCloud或iTunes)在iPhone XS上恢复短信 选项1:从iCloud恢复(覆盖iPhone) iPhone最好的方法之一是由Apple iCloud提供的备份服务。 事实是,只有在iPhone的“设置”应用中打开iCloud服务并进行常规iCloud备份后,您才更有机会取回已删除的iPhone SMS消息。 此方法会将iPhone恢复为出厂设置并清除所有当前https://www.android-iphone-recovery.com/zh-CN/recover-sms-from-iphone-xs-with-or-wirhout-backup.html
23.短信平台网关发送653个状态返回码30 短信平台回执 CJ:0007 钓鱼内容敏感词拦截 建议修改短信内容 31 短信平台回执 MO:0011 鉴权失败 建议用户更换号码或终端重新尝试 32 短信平台回执 MX:0006 通道敏感词 建议更换短信内容重新尝试 33 短信平台回执 ID:0075 送SCP鉴权等待应答超时 建议联系平台核查原因 http://4006026717.com/News/NewsPaper.asp?id=408
24.如何使用SMS向客户传递服务信息?指南在这里!邦阅网一、SMS短信对客户服务的重要性 客户喜欢一对一的客户服务信息,因为它是如此快速和随意。如果实施得好,对话式信息传递可以让客户快速联系到你的客服团队,避免电话树和排队,更快地得到答案。 对话式信息传递渠道的一些例子包括: ·SMS text messages ·Live chat https://www.52by.com/article/93829