sms 短信服务说明


sms 短信服务说明

         

官网:https://help.aliyun.com/document_detail/57535.html

        

              

                               

短信服务

         

api 短信发送流程

                  

# 短信发送准备:短信签名、短信模板
AddSmsSign:添加短信签名,通过QuerySmsSign查看短信签名状态的审核状态
AddSmsTemplate:添加短信模板,通过QuerySmsTemplate查看短信模板的审核状态
说明:发送短信前需要先申请短信签名、短信模板,并确保短信签名以及模板已经审核通过发送测试短信可使用测试专用的签名、模板,免去了申请流程# 短信发送:单条发送、批量发送
SendSms:单条短信发送,短信群发(向最多1000个不用的手机号发送相同的内容,群发有一定延迟)
SendBatchSms:批量短信发送(向多个不同的手机号码发送不同签名和模板内容的短信)# 短信发送查询
QuerySendDetails:查询短信发送详情

             

                               

相关依赖

     

        <!-- aliyun sms --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>aliyun-sms-spring-boot-starter</artifactId></dependency><dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><type>pom</type><scope>import</scope></dependency><!-- aliyun上下文 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>aliyun-spring-boot-dependencies</artifactId><version>${aliyun-spring-boot.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>

          

                    

                               

相关类与接口

   

              

      

SmsContextAutoConfiguration

@Configuration(proxyBeanMethods = false
)
@EnableConfigurationProperties({SmsProperties.class})   //创建SmsProperties配置bean
@ConditionalOnClass(name = {"com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest"}
)
@ConditionalOnProperty(name = {"alibaba.cloud.sms.enabled"},matchIfMissing = true
)
public class SmsContextAutoConfiguration {public SmsContextAutoConfiguration() {}
}

          

SmsProperties

@ConfigurationProperties(prefix = "alibaba.cloud.sms"
)
public class SmsProperties {public static final String SMS_PRODUCT = "Dysmsapi";public static final String SMS_DOMAIN = "dysmsapi.aliyuncs.com";private String reportQueueName;private String upQueueName;private String connectTimeout = "10000";private String readTimeout = "10000";public SmsProperties() {}

          

SmsAutoConfiguration

@Configuration(proxyBeanMethods = false
)
@EnableConfigurationProperties
@ConditionalOnClass({SendSmsRequest.class})
@ConditionalOnProperty(value = {"alibaba.cloud.sms.enabled"},matchIfMissing = true
)
public class SmsAutoConfiguration {public SmsAutoConfiguration() {}@Beanpublic SmsServiceImpl smsService(AliCloudProperties aliCloudProperties, SmsProperties smsProperties) {return new SmsServiceImpl(aliCloudProperties, smsProperties);}   //创建SmsServiceImpl@Beanpublic SmsInitializerEventListener smsInitializePostListener(SmsProperties smsProperties, ISmsService smsService) {return new SmsInitializerEventListener(smsProperties, smsService);}   //创建SmsInitializerEventListener
}

                      

SmsServiceImpl:短信操作类,如发送、批量发送、查询发送详情等

public final class SmsServiceImpl extends AbstractSmsService {private static final Logger log = LoggerFactory.getLogger(SmsServiceImpl.class);private SmsProperties smsProperties;private AliCloudProperties aliCloudProperties;public SmsServiceImpl(AliCloudProperties aliCloudProperties, SmsProperties smsProperties) {this.aliCloudProperties = aliCloudProperties;this.smsProperties = smsProperties;}public SendSmsResponse sendSmsRequest(SendSmsRequest sendSmsRequest) throws ClientException {public SendSmsResponse sendSmsRequest(SendSmsRequest sendSmsRequest, String accessKeyId, String accessKeySecret) throws ServerException, ClientException {public boolean startSmsReportMessageListener(SmsReportMessageListener smsReportMessageListener) {String messageType = "SmsReport";String queueName = this.smsProperties.getReportQueueName();return this.startReceiveMsg(messageType, queueName, smsReportMessageListener);}public boolean startSmsUpMessageListener(SmsUpMessageListener smsUpMessageListener) {String messageType = "SmsUp";String queueName = this.smsProperties.getUpQueueName();return this.startReceiveMsg(messageType, queueName, smsUpMessageListener);}private boolean startReceiveMsg(String messageType, String queueName, SmsMessageListener messageListener) {public SendBatchSmsResponse sendSmsBatchRequest(SendBatchSmsRequest sendBatchSmsRequest) throws ServerException, ClientException {public SendBatchSmsResponse sendSmsBatchRequest(SendBatchSmsRequest sendBatchSmsRequest, String accessKeyId, String accessKeySecret) throws ClientException {public QuerySendDetailsResponse querySendDetails(QuerySendDetailsRequest request, String accessKeyId, String accessKeySecret) throws ClientException {public QuerySendDetailsResponse querySendDetails(QuerySendDetailsRequest request) throws ClientException {

            

AbstractSmsService

public abstract class AbstractSmsService implements ISmsService {private ConcurrentHashMap<String, IAcsClient> acsClientConcurrentHashMap = new ConcurrentHashMap();public AbstractSmsService() {}public IAcsClient getHangZhouRegionClientProfile(String accessKeyId, String accessKeySecret) {return (IAcsClient)this.acsClientConcurrentHashMap.computeIfAbsent(this.getKey("cn-hangzhou", accessKeyId, accessKeySecret), (iacsClient) -> {return new DefaultAcsClient(DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret));});}private String getKey(String regionId, String accessKeyId, String accessKeySecret) {return regionId + ":" + accessKeyId + ":" + accessKeySecret;}
}

         

ISmsService

public interface ISmsService {IAcsClient getHangZhouRegionClientProfile(String accessKeyId, String secret);SendSmsResponse sendSmsRequest(SendSmsRequest sendSmsRequest) throws ServerException, ClientException;SendSmsResponse sendSmsRequest(SendSmsRequest sendSmsRequest, String accessKeyId, String accessKeySecret) throws ServerException, ClientException;SendBatchSmsResponse sendSmsBatchRequest(SendBatchSmsRequest sendBatchSmsRequest) throws ServerException, ClientException;SendBatchSmsResponse sendSmsBatchRequest(SendBatchSmsRequest sendSmsRequest, String accessKeyId, String accessKeySecret) throws ServerException, ClientException;boolean startSmsReportMessageListener(SmsReportMessageListener smsReportMessageListener);boolean startSmsUpMessageListener(SmsUpMessageListener smsUpMessageListener);QuerySendDetailsResponse querySendDetails(QuerySendDetailsRequest request, String accessKeyId, String accessKeySecret) throws ClientException;QuerySendDetailsResponse querySendDetails(QuerySendDetailsRequest request) throws ClientException;
}

             

              

          

AliCloudContextAutoConfiguration

@Configuration(proxyBeanMethods = false
)
@EnableConfigurationProperties({AliCloudProperties.class})
public class AliCloudContextAutoConfiguration {public AliCloudContextAutoConfiguration() {}
}

          

AliCloudProperties

@ConfigurationProperties("alibaba.cloud")
public class AliCloudProperties implements AliCloudConfiguration {public static final String PROPERTY_PREFIX = "alibaba.cloud";public static final String ACCESS_KEY_PROPERTY = "alibaba.cloud.access-key";public static final String SECRET_KEY_PROPERTY = "alibaba.cloud.secret-key";private String accessKey;private String secretKey;public AliCloudProperties() {}

         

               

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/17271.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于MVC+三层架构实现—SMS_登陆注册

做了一个简单的登录注册系统&#xff0c;基于MVC三层架构的模式&#xff0c;关于MVC三层架构模式的理解可以看这篇博客 https://blog.csdn.net/w_linux/article/details/79919523 下面是开发全过程 项目目录 一、创建数据库(MySQL) create database sms;use sms;create table …

harmonyos鸿蒙,鸿蒙HarmonyOS应用权限列表大全

HarmonyOS的应用权限严格按照权限分类分级模型进行定义,如图1所示,具体过程可分为三步: 1、根据不同应用所需实现的功能,明确接口是否需要对外开放。 2、根据接口所涉数据的敏感程度或所涉能力的安全威胁影响,对所有的开放接口进行分级(包括中、低、高、严重)。不对外开放…

小米网关接入Homekit完整教程

Hi 米娜桑&#xff0c;通过我艰苦不懈的追踪发现&#xff0c;绿米智能家庭产品现在也是可以部分支持Homekit啦~ 起因是我发现了这个&#xff1a; https://github.com/snOOrz/homebridge-aqara 然后我又跳转到了这 https://github.com/nfarina/homebridge 那么&#xff0c;我就…

Shot边界检测----2001-2007TRECVID比赛算法总结

概述 Shot边界检测&#xff08;Shot boundary detection &#xff0c;SBD&#xff09;指在视频中自动检测镜头的边界&#xff0c;是视频分析&#xff0c;视频索引&#xff0c;视频摘要&#xff0c;视频搜索和其他基于内容的视频操作的基本的预处理步骤。自动SBD是2001至2007年…

IJCAI探营第一天 6个Tutorial 和13个Workshop为什么都“挤在” RMIT 80号楼?

雷锋网消息&#xff1a;今天是IJCAI大会&#xff08;国际人工智能联合会议&#xff09;的第一天&#xff0c;在寒冷的墨尔本&#xff0c;雷锋网(公众号&#xff1a;雷锋网)的记者来到这里为大家带来大会的最新报道。 大会的前两天在墨尔本皇家理工大学&#xff08;RMIT&#xf…

每日区块链:区块链需求增加,Nvidia有望获得巨额利润;澳洲大学建立世界首家区块链社会科学研究中心

1、区块链需求增加&#xff0c;Nvidia有望获得巨额利润 如今&#xff0c;许多公司已经开始采用区块链技术。市场报告称&#xff0c;区块链市场规模很可能从去年的2.102亿美元增长至2021年的23.125亿美元。 尽管区块链的主要目标是银行、支付系统和金融机构&#xff0c;但其他公…

博士申请 | 皇家墨尔本理工大学鲍芝峰教授招收数据挖掘方向全奖博士生

合适的工作难找&#xff1f;最新的招聘信息也不知道&#xff1f; AI 求职为大家精选人工智能领域最新鲜的招聘信息&#xff0c;助你先人一步投递&#xff0c;快人一步入职&#xff01; 皇家墨尔本理工大学 皇家墨尔本理工大学&#xff08;Royal Melbourne Institute of Technol…

RMIT大学“3D打印”创造美好未来-“私人订制”人体骨骼!

-患上恶性骨肿瘤&#xff0c;需要去掉坏骨头&#xff0c;找到替代品植入。但传统假体无法满足患者缺损的精细化要求&#xff0c;经常因为不匹配导致功能障碍。现在通过3D打印的技术将可以改变这一切。 近日&#xff0c;RMIT教授Milan Brandt正在与专家Peter Choong一起开发一项…

阿德莱德计算机专业本科,最新全球高校CS专业排名出炉!想学IT的不能错过这几所澳洲高校!...

近年来&#xff0c;如果被问到哪个专业在世界范围内都“吃香”&#xff0c;那么与计算机相关的专业一定是标准答案&#xff01; 随着社会发展越来越发达&#xff0c;关于计算机类领域的发展可谓是在不断的加速。人工智能、互联网技术存在于日常生活的方方面面。与之相关的信息安…

RMIT阿里UTS中山提出Target-aware Transformer,进行one-to-all知识蒸馏!性能SOTA

关注公众号&#xff0c;发现CV技术之美 本文分享 CVPR 2022 Oral 的一篇论文『Knowledge Distillation via the Target-aware Transformer』&#xff0c;由RMIT&阿里&UTS&中山提出Target-aware Transformer&#xff0c;进行one-to-all知识蒸馏&#xff01;性能SOTA…

悉尼大学计算机工程专业世界排名,2019QS澳洲计算机专业排名,7所大学进入世界百强!...

原标题&#xff1a;2019QS澳洲计算机专业排名&#xff0c;7所大学进入世界百强&#xff01; 说起计算机专业&#xff0c;很多学生会联想到好就业薪水丰厚&#xff0c;不仅是国内&#xff0c;在全球来看&#xff0c;计算机专业人才都非常受欢迎&#xff0c;所以这几年出国留学就…

澳洲转专业学计算机,刚来澳洲留学,我就想转专业!(附转专业攻略)

原标题&#xff1a;刚来澳洲留学&#xff0c;我就想转专业&#xff01;(附转专业攻略) 粥粥最近遇到有朋友问&#xff1a; 澳洲留学可以转学或者转专业不&#xff1f; 这个嘛~ 相信有部分小伙伴在出国留学后&#xff0c; 也可能会遇到过这样的问题。 有的因为感觉专业不适合自己…

rmit计算机科学,更好的选择,更好的未来 —专访RMIT计算机科学Dr. Fengling Han

原标题&#xff1a;更好的选择&#xff0c;更好的未来 —专访RMIT计算机科学Dr. Fengling Han RMIT的计算机专业不仅在世界排名中位于前一百&#xff0c;在计算机行业&#xff0c;也因其课程实用性和雇主满意度而享有很高的声誉&#xff0c;本次RMIT科学工程和健康学院的中国研…

澳洲计算机设计专业大学排名,澳洲设计专业大学排名TOP5

众所周知&#xff0c;澳大利亚是移民大国&#xff0c;移民来自全球100多个国家。其丰富的移民文化使澳大利亚的艺术氛围浓厚而独特&#xff0c;也因此吸引着越来越多的艺术学子前来就读。那么&#xff0c;你知道去澳洲学设计专业可以选择哪些院校吗&#xff1f;下述就是美行思远…

rmit计算机科学选课,RMIT最强最全的IT Master选课指南,“鼠”于你的高分秘籍!...

RMIT的IT课程设计十分地人性化&#xff0c;每个学期的课程根据自身知识的储备的不同会有多个方向的选择。但是&#xff0c;如果对自己的了解不够深入&#xff0c;或者对课程的英语描述不清楚的同学很容易踩雷。所以RMIT的学霸学长根据自己的经验将每个学期的课程分别从&#xf…

手把手教你用鸿蒙HarmonyOS实现微信聊天界面(二)

简介 本系列文章记录作者大三开学第一个月中学习HarmonyOS移动应用开发学习经历&#xff0c;此篇为《微信聊天界面》项目&#xff0c;实现功能有 1、聊天信息功能&#xff0c;包括图片、文字 2、发送定位功能 3、选择发送本机图片功能 4、拍照并发送图片功能 如果在真机调试…

鸿蒙2.0开始推送,华为OS首次登陆手机,亮点槽点都在这里

贾浩楠 萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI 很快啊&#xff01;华为鸿蒙2.0&#xff0c;这就来了。 目前&#xff0c;鸿蒙2.0已经开放公测&#xff0c;不少华为用户已经开始上手体验了。 据华为消费者业务软件部总裁王成录表示&#xff0c;今年6月初&#xff0c;华为…

2023年人工智能行业研究报告

第一章 行业概况 1.1 定义和分类 人工智能&#xff08;ArtificialIntelligence, AI&#xff09;是一个广泛的计算机科学分支&#xff0c;它致力于创建和应用智能机器。在更深入的层次上&#xff0c;人工智能可以被理解为以下几个方面&#xff1a; 学习和适应&#xff1a;人工…

梭哈大模型,阿里云成了跟风者?

伴随AI大模型潘多拉魔盒打开&#xff0c;云市场GameChanger已到来。对阿里云这个昔日老大哥而言&#xff0c;从“领先者”变为“跟风者”&#xff0c;是否还有机会去重塑行业规则&#xff1f; 这可能是张勇全面掌舵阿里巴巴7年以来&#xff0c;事关未来最重要的一次“梭哈”。 …