阿里云短信发送API(SendSms)的集成
好记性不如烂笔头,记录一下集成阿里云短信平台的过程。
平台申请的过程略过,只讲代码有关的内容,首先是配置需要的依赖包:
<!-- begin of aliyun sms --> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>4.0.6</version> </dependency> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-dysmsapi</artifactId> <version>1.1.0</version> </dependency> <!-- end of aliyun sms -->
发送短信的方法:
/** * * @date 2018年8月7日下午3:20:30 * @author key_artist * @todo TODO 提醒短信 */ public void sendMsg(String mobilephone) { String accessKeyId = null; String accessKeySecret = null; String signName = null; String templateCode = null; PropertiesUtils.load("/parameter.properties"); accessKeyId = PropertiesUtils.get("alisms.accessKeyId"); accessKeySecret = PropertiesUtils.get("alisms.accessKeySecret"); signName = PropertiesUtils.get("alisms.signName"); //自定义的短信模板编码,在阿里云短信平台中心配置 templateCode = ""; System.setProperty("sun.net.client.defaultConnectTimeout", "10000"); System.setProperty("sun.net.client.defaultReadTimeout", "10000"); //初始化acsClient,暂不支持region化 IClientProfile profile = DefaultProfile.getProfile("cn-beijing", accessKeyId, accessKeySecret); try { DefaultProfile.addEndpoint("cn-beijing", "cn-beijing", Constant.SMS_PRODUCT, Constant.SMS_DOMAIN); } catch (ClientException e) { logger.error("sendNoticeSMS-->error"); } IAcsClient acsClient = new DefaultAcsClient(profile); //组装请求对象-具体描述见控制台-文档部分内容 SendSmsRequest request = new SendSmsRequest(); //必填:待发送手机号 request.setPhoneNumbers(mobilephone); //必填:短信签名-可在短信控制台中找到 request.setSignName(signName); //必填:短信模板-可在短信控制台中找到 request.setTemplateCode(templateCode); //可选:模板中的变量替换JSON串 //request.setTemplateParam(templateParam); //选填-上行短信扩展码(无特殊需求用户请忽略此字段) //request.setSmsUpExtendCode(""); //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者 request.setOutId("yourOutId"); //hint 此处可能会抛出异常,注意catch SendSmsResponse sendSmsResponse = null; try { sendSmsResponse = acsClient.getAcsResponse(request); } catch (Exception e) { e.printStackTrace(); } }
配置文件(parameter.properties),接入的key,申请接入的时候有,请将*替换成自己的内容
alisms.accessKeyId = **** alisms.accessKeySecret = **** alisms.endpoint = **** alisms.topic = **** alisms.signName = ****
完成上述步骤你就成功的接入了阿里云的短信接口,快去试试吧,如果你和我一样遇到了找不到JSONObject(Gson)的错误,可以参考一下我的另一篇文章: