前言

阿里的短信服务分为三块,一是阿里云短信服务,二是云通讯,三是阿里大于,不过后期都会统一到阿里云短信服务平台的,所以这里只需要学习如何使用阿里云短信服务就可以了。
如果是个人开发者,项目呢还没上线,项目中还需要用到短信服务,想熟悉一下短信服务的代码调用,那看这个教程就对了。

一、免费开通短信服务

传送门

注册登录,然后点击免费开通

二、创建AccessKey

这里一定要把AccessKeyId和AccessKeySecret 记录下来!!!

AccessKeyId AccessKeySecret
xxxxx xxxxx

三、创建签名


这里的签名名称建议使用ABC商城,使用其他的审核不容易通过。适用场景选择验证码,不要选择通用!!!因为选择通用要上传一大堆东西,太麻烦。

四、创建模板

建议就和这个一样,变量只支持一个,模板类型一定选“验证码”。否则审核很难通过。

五、编码

发送内容实体类

短信服务中的变量及其值要以json字符串的形式作为参数传入,因为拼接字符串太过麻烦,这里建议使用实体类转json字符串的形式。

/*** 短信内容VO类*/
@Data
public class AliyunSmsVO1 {private String code;    // 验证码
}

发送短信工具类

/*** 阿里云短信服务工具类*/
public class AliyunSmsUtils {public AliyunSmsUtils() {super();}//产品名称:云通信短信API产品,开发者无需替换static final String product = "Dysmsapi";//产品域名,开发者无需替换static final String domain = "dysmsapi.aliyuncs.com";// TODO 此处需要替换成开发者自己的AK(在阿里云访问控制台寻找)static final String accessKeyId = "xxxxxx"; // TODO 修改成自己的accessKeyIdstatic final String accessKeySecret = "xxxxxx"; // TODO 修改成自己的accessKeySecretstatic final String signName = "ABC商城";static final String templateCode = "SMS_206548955";/*** 发送短信* @param telephone 发送的手机号码* @param content 发送的内容,json字符串* @return* @throws ClientException*/public static SendSmsResponse sendSms(String telephone,String content) throws ClientException {//可自助调整超时时间System.setProperty("sun.net.client.defaultConnectTimeout", "10000");System.setProperty("sun.net.client.defaultReadTimeout", "10000");//初始化acsClient,暂不支持region化IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);IAcsClient acsClient = new DefaultAcsClient(profile);//组装请求对象-具体描述见控制台-文档部分内容SendSmsRequest request = new SendSmsRequest();//必填:待发送手机号request.setPhoneNumbers(telephone);//必填:短信签名-可在短信控制台中找到request.setSignName(signName); // TODO 修改成自己的签名//必填:短信模板-可在短信控制台中找到request.setTemplateCode(templateCode); // TODO 修改成自己的模板CODE//可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为"{\"code\":\"123456\"}"request.setTemplateParam(content);//可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者request.setOutId("yourOutId");//hint 此处可能会抛出异常,注意catchSendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);if(sendSmsResponse.getCode()!= null && sendSmsResponse.getCode().equals("OK")){System.out.println("短信发送成功!");}else {System.out.println("短信发送失败!");}return sendSmsResponse;}public static void main(String[] args) throws ClientException, InterruptedException {AliyunSmsVO1 aliyunSmsVO1 = new AliyunSmsVO1();aliyunSmsVO1.setCode("11111");String s = JSONObject.toJSONString(aliyunSmsVO1);//发短信SendSmsResponse response =sendSms("xxxxx",s); // TODO 填写你需要测试的手机号码System.out.println("短信接口返回的数据----------------");System.out.println("Code=" + response.getCode());System.out.println("Message=" + response.getMessage());System.out.println("RequestId=" + response.getRequestId());System.out.println("BizId=" + response.getBizId());}
}

阿里云短信服务-个人账户测试短信服务相关推荐

  1. springMVC+阿里云API = 实现发送手机验证码短信

    springMVC+阿里云API = 实现发送手机验证码短信 前段时间vue框架做了一个旅游APP软件,其中在用户登录APP的时候,我不仅提供了用户可以自己手动先去注册账号在进行登陆App.然后我还提 ...

  2. 【阿里云产品公测】高大上的搜索服务OpenSearch, 你值得拥有!

    2019独角兽企业重金招聘Python工程师标准>>> [阿里云产品公测]高大上的搜索服务OpenSearch, 你值得拥有! 作者:阿里云用户trcher 一.前言:  在Open ...

  3. 阿里云MQTT服务器搭建与测试(全图文,非常详细)

    阿里云MQTT服务器搭建与测试 一. MQTT概念 二. 阿里云MQTT服务器搭建 1 阿里云平台注册及认证 2 添加平台 2 创建产品与设备 获取MQTT连接相关信息 三.MQTT.fx测试 1 M ...

  4. 阿里云各个地域节点速度测试(测试点到阿里云各站点)

    阿里云各个地域节点速度测试 http://aliyun.nagekuai.com/ 测试节点 阿里云速度测试提供阿里云ECS云服务器大陆地域节点测速:华北1(青岛).华北2(北京).华北3(张家口). ...

  5. 阿里巴巴2022届应届生招聘 阿里云存储基础技术 研发测试算法

    学弟学妹们好,我们是阿里云存储基础技术团队,正在进行2022届校招. 团队业务核心,团队氛围nice,对于每位实习同学都会配师兄专职辅导. 本次招聘为部门直招,简历直接推给Leader,反应更快速,合 ...

  6. 阿里云自定义RAM策略之【对象存储服务(OSS)的权限】

    阿里云自定义RAM策略之[对象存储服务(OSS)的权限] 如果系统策略无法满足您的需求,您可以通过创建自定义策略实现精细化权限管理. 在网上查阅资料很少有针对OSS的自定义策略说法 场景:给运营人员使 ...

  7. 阿里云OSS上传下载和短信验证码

    (一):首先得在阿里云OSS上开通相关的服务,具体哪里开通及如何操作请参考此链接: https://help.aliyun.com/document_detail/31883.html?spm=517 ...

  8. 阿里云栖开发者沙龙PHP技术专场-聊聊服务稳定性保障这些事

    本文主要带大家了解服务稳定性的重要性和相关策略.策略大概分两部分,第一方面从架构层面介绍保障服务稳定性的常见策略(限流,降级,隔离,超时,重试和集群).第二个方面是从流程方面(code review, ...

  9. 使用阿里云ACM简化你的Spring Cloud微服务环境配置管理

    摘要: 本文我们就如何使用阿里云ACM这样的配置管理产品在Spring Cloud中替代Spring Cloud Config帮助简化环境配置管理做一个简单的示例,帮助你理解基于ACM来简化微服务环境 ...

最新文章

  1. 5个无聊透顶的 Python 程序
  2. 计算机中算术逻辑单元负责,算术逻辑单元
  3. Windows 2012 R2 中 AD DS 部署
  4. Linux-Android启动之Init进程前传
  5. 【矩阵乘法】递推(ssl 1532)
  6. laravel5.5 php7,ubuntu 16.04+nginx+mysql+php7.1+laravel5.5环境
  7. java builder pattern_Java Builder Pattern建造者模式详解及实例
  8. winform 填充圆形 锯齿_Qt项目中,三种图形渐变填充方式详细总结
  9. 做海外市场,如何在Facebook20多亿用户中分一杯羹?
  10. 心理学家发现脚部动作可表现性格特征
  11. 编译在arm版本的Valgrind-转
  12. typeScrip(三) 类
  13. SSDP:DDoS***的“新宠”
  14. “什么?中东的土豪给我们 App 充了大钱!”
  15. 嵌入式Linux开发工具C语言 Makefile的编写
  16. android 解压zip工具,ZArchiver解压缩工具
  17. 固态硬盘能不能提高计算机速度,固态硬盘掉速如何解决?几招轻松提升SSD速度方法 (全文)...
  18. 警告: Category is implementing a method which will also be implemented by its primary class
  19. 涨姿势 之 Sourcetree 显示头像
  20. Linux基础, 基础命令, 基于公钥的免密登录

热门文章

  1. notepad++格式化xml文件
  2. 解决光驱不能读盘问题
  3. Visual C++ 新增功能(2003 - 2015)
  4. 运维学习之lvm(逻辑卷管理)
  5. 计算机系统文件夹打不开,电脑系统的文件夹打不开可以试下这两个办法
  6. 2023二建建筑施工备考第二天Day02
  7. OWASP的s-sdlc项目优秀分享
  8. 惊!又一家知名企业被查!
  9. 微信小程序:二开版优化新紫色UI云开发新款壁纸小程序源码
  10. 车载USB DVR(行车记录仪)的源码架构浅析(基于AndroiidM)