我是基于阿里云实现的
阿里云服务网站:短信控制台

从快速学习可以看到,发送短信需要签名模版的。

  • 申请签名


这是选择所要求的材料不一样,请按自身情况真实填写(这步很关键),注意:填完通过后就不可以修改了

  • 添加模版



详情如图,注意:填完通过后就不可以修改了

以上都申请通过了,就可以写代码
具体实现

/*** 封装短信参数和发送* @param map*/private void setTemplateParamAndSend(Map<String, Object> map, String phoneNumber) {try {Object equipmentLocation = "";if(!map.isEmpty()){equipmentLocation = map.get("equipmentLocation");if(null ==equipmentLocation){equipmentLocation = " ";}               }String templateParam = "{\"aisleStatus\":\"" + map.get("aisleStatus") + "\",\"equipmenttNameAndAisle\":\"" + map.get("equipmenttNameAndAisle") + "\",\"equipmentLocation\":\""+ equipmentLocation + "\",\"collectDate\":\"" + map.get("collectDate") + "\"}";logger.info(" templateParam ===" + templateParam);sendSms(phoneNumber, templateParam);} catch (Exception e) {logger.error("setTemplateParamAndSend error ==", e);}}
/*** java使用阿里云短信服务接口 注:代码直接复制与阿里云提供的调用示例** @return 发送SMS响应信息* @throws ClientException*         客户端异常* @date 2018年7月15日 下午9:33:33*/public SendSmsResponse sendSms(String phoneNums, String templateParam) throws ClientException {List<SysMsgconfig> selectSysMsgconfigList = sysMsgconfigMapper.selectSysMsgconfigList(new SysMsgconfig());SysMsgconfig sysMsgconfig = selectSysMsgconfigList.get(0);// 设置超时时间-可自行调整System.setProperty("sun.net.client.defaultConnectTimeout", "10000");System.setProperty("sun.net.client.defaultReadTimeout", "10000");// 初始化ascClient需要的几个参数final String product = "Dysmsapi";// 短信API产品名称(短信产品名固定,无需修改)final String domain = "dysmsapi.aliyuncs.com";// 短信API产品域名(接口地址固定,无需修改)// 你的AccessKeyID:final String accessKeyId = sysMsgconfig.getAccesskeyid();//"LTAI4G1Fn7rJq6o6Ge7LdvKM";// 你的AccessKeySecretfinal String accessKeySecret = sysMsgconfig.getAccesssecret();//"DJPS1NC82AL56rFS9tRqyKN25LJDpx";// 初始化ascClient,暂时不支持多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();// 使用post提交request.setMethod(MethodType.POST);// 必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,"13500000000,18200000000"request.setPhoneNumbers(phoneNums);// 必填:短信签名-需在控制台新建并配置模板request.setSignName(sysMsgconfig.getSignname());// 必填:短信模板-需在控制台新建并配置模板request.setTemplateCode(sysMsgconfig.getTemplatecode());// 可选:模板中的变量替换JSON串,如模板内容为"您的验证码为${code},5分钟内有效,请及时校验!"时,此处的值为// 友情提示:如果JSON中需要带换行符,请参照标准的JSON协议对换行符的要求,// 比如短信内容中包含\r\n的情况在JSON中需要表示成\\r\\n,否则会导致JSON在服务端解析失败 "{\"name\":\"Tom\", \"code\":\"123\"}"request.setTemplateParam(templateParam);// 可选-上行短信扩展码(扩展码字段控制在7位或以下,无特殊需求用户请忽略此字段)// request.setSmsUpExtendCode("90997");// 可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者// request.setOutId("yourOutId");// 发送短信调用请求(如果请求失败,这里会抛ClientException异常)SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);if (sendSmsResponse.getCode() != null && sendSmsResponse.getCode().equals("OK")) {System.out.println("短信发送成功!");return sendSmsResponse;}logger.info("sendSmsResponse getMessage==" + sendSmsResponse.getMessage());return sendSmsResponse;}
}

可以看到代码中还需要密匙和密匙ID,可以从这个入口创建

java 短信从申请到实现(阿里云)相关推荐

  1. 【阿里云短信服务SMS】使用阿里云发送短信

    使用阿里云发送短信 前期准备工作 1.添加签名 2.添加短信模板 3.创建子用户,得到密钥:AccessKeyId和 AccessKeySecret 4.给子用户添加权限 5.收集好之前步骤中的4个关 ...

  2. 12月云短信报告出炉,阿里云闯进前三

    导语 博睿数据(股票代码688229)十余年专注APM领域,已为超过2000余家大型企业提供专业数据服务.依托先进的测评技术及丰富的行业经验,博睿数据倾力打造了一个公开透明的性能测评栏目--[Bonr ...

  3. Java后台做 短信验证码、短信通知,阿里云短信服务

    Java+阿里云短信实现系统登录发送验证码功能 阿里云短信服务器地址:https://dysms.console.aliyun.com/dysms.htm 1.申请签名,等待审核通过 2.按需选择你要 ...

  4. 短信验证码的实现(阿里云)

    文章目录 前言 一.短信验证码的基本步骤 二.阿里云短信验证 三.导入依赖坐标 四.调用API 五.随机生成验证码工具类 六.发送请求调用 前言 背景:目前在很多项目中都出现使用短信验证码来实现注册. ...

  5. Laravel短信mysql_使用 Laravel 实现阿里云短信服务队列

    首先,基于 Laravel 5.2 实现一个任务队列,用于存储待发送短信的相关信息,及 seeder/worker 的处理逻辑 短信模板 ID 模板参数 短信签名 目标手机号码 创建存储任务的数据表 ...

  6. go 服务接入短信验证码功能(对接阿里云平台)

    简介 短信验证码还是比较常用的功能,已经有了很成熟的方案,本篇介绍的是对接阿里云的短信服务,一条短信大概两分钱. 基本的流程是: 到对应的云平台申请权限,大致费用都差不多 照着官方文档进行对接,并集成 ...

  7. 云片短信php接口_php与阿里云短信接口接入

    使用阿里云短信API,需要在控制台获取以下必要参数,其中需要自己手机验证+官方审核多次,尤其审核需要保持耐心. 1. accessKeyId 相当于你的个人账户密钥: 2. accessKeySecr ...

  8. 超简单的java短信验证码,神级之作

    阿里云短信使用 -- 拓薪教育 短信猫:所谓短信猫,其实是一种用来收发短信的设备,他和我们用的手机一样,需要手机SIM卡的支持,在需要收发短信的时候,在短信猫里面插入一张我们平时用的手机卡,插上电源, ...

  9. 个人永久性免费-Excel催化剂功能第85波-灵活便捷的批量发送短信功能(使用腾讯云接口)...

    微信时代的今天,短信一样不可缺席,大系统都有集成短信接口. 若只是临时用一下,若能够直接在Excel上加工好内容就可以直接发送,这些假设在此篇批量群发短信功能中都为大家带来完美答案. 业务场景 不多说 ...

  10. 1月云短信报告出炉,华为云跃居榜首

    导语 博睿数据(股票代码688229)十余年专注APM领域,已为超过2000余家大型企业提供专业数据服务.依托先进的测评技术及丰富的行业经验,博睿数据倾力打造了一个公开透明的性能测评栏目--[Bonr ...

最新文章

  1. KDE与GNOME的战争史(转载)
  2. 漫谈时序设计(3)走进时序约束的大门!
  3. IO流(文本文件读取练习)
  4. altair feko+winprop 2020中文版
  5. 日期年月日的比较以及判断
  6. 千万别用树套树(线段树)
  7. java排序两个数组_java – 如何相对于彼此排序两个数组.
  8. 赶紧收藏!非常实用的 30 个 Python 技巧
  9. oracle dba开头的表,oracle中以dba_、user_、v$_、all_、session_、index_开头的常用表和视图...
  10. 转:Real6410 Linux 常见问题总结(截至2010/07/26)
  11. 计算机集成项目经理 培训,计算机信息系统集成项目经理培训总结.doc
  12. PHP字符串替换函数strtr()的功能实现讲解
  13. Python基础(7) - 函数
  14. opencv2.4.7.2画圆,画十字,画矩形
  15. 如何安装SQL server2005的查询分析器(绝对原创)
  16. RTOS系列文章(5):C语言程序运行原理分析:汇编、栈、栈帧、进栈、出栈、保存现场、恢复现场、返回
  17. 全国各省份结婚离婚面板数据(2000-2019年)
  18. java连接打印机并进行打印
  19. cf卡格式化后还能数据恢复么?相机cf卡误删怎么恢复
  20. 如何理解特征函数characteristic function

热门文章

  1. 使用python PIL 模块合成图片
  2. 测量计算机编程fx500,工程测量中fx-500P计算器基本程序.doc
  3. 401.3 您未被授权查看该页 错误原因和解决方案
  4. debian下安装小企鹅输入法
  5. pagefile.sys删除
  6. Gullo’s Hosting保加利亚NAT VPS评测
  7. 用聚宽量化炒股-3常用对象
  8. 电脑不允许被PING的解决办法
  9. 倪海厦天纪笔记16_倪海厦《天纪·天机道》笔记
  10. 【Python】《三国演义》人物出场统计