java怎么实现发送短信功能

互联网 19-11-20

1、在阿里云短信服务中添加签名

2、在阿里云短信服务中添加模板

3、创建属于自己的AccessKey IDAccess Key Secret

4、需要下载两个jar包

aliyun-java-sdk-core-3.3.1.jar aliyun-java-sdk-dysmsapi-1.0.0.jar

5、然后新建Sendmss类(需要修改四个地方)

①:此处需要替换成开发者自己的AK(在阿里云访问控制台寻找)

static final String accessKeyId = "xxxxxxxxxx";

②:                            

static final String accessKeySecret ="xxxxxxxxxxxxxxxxxxxx";

③:必填:短信签名-可在短信控制台中找到           

request.setSignName("xxxxx");

④:可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为   request.setTemplateParam("{ \"code\":\""+yzm+"\"}");

package com.zuxia.maven.carsystem.util; import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest; import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse; import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.profile.DefaultProfile; import com.aliyuncs.profile.IClientProfile; public class Sendmss {      //产品名称:云通信短信API产品,开发者无需替换     static final String product = "Dysmsapi";     //产品域名,开发者无需替换     static final String domain = "dysmsapi.aliyuncs.com";     // TODO 此处需要替换成开发者自己的AK(在阿里云访问控制台寻找)     static final String accessKeyId = "xxxxxxxxxxxxxxx";     static final String accessKeySecret ="xxxxxxxxxxxxxxxxxxxxxx";         public SendSmsResponse sendSms(String phone,String yzm) 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(phone);         //必填:短信签名-可在短信控制台中找到         request.setSignName("xxxxxxx");         //必填:短信模板-可在短信控制台中找到         request.setTemplateCode("xxxxxxxxx");         //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为         request.setTemplateParam("{ \"code\":\""+yzm+"\"}");         //选填-上行短信扩展码(无特殊需求用户请忽略此字段)         //request.setSmsUpExtendCode("90997");         //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者         request.setOutId("yourOutId");         //hint 此处可能会抛出异常,注意catch         SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);         return sendSmsResponse;     } }

新建test类

package com.zuxia.maven.carsystem.test; import com.aliyuncs.exceptions.ClientException; import com.zuxia.maven.carsystem.util.Sendmss; public class Test {     public static void main(String[] args) {             Sendmss s = new Sendmss();             String phone = "xxxxxxxxxxxx";             String yzm = "xxxxxxxxx";             try {                 s.sendSms(phone, yzm);             } catch (ClientException e) {                 System.out.println(e.getMessage());                 e.printStackTrace();             }             System.out.println("发送成功!");     } }

推荐教程:java开发入门

以上就是java怎么实现发送短信功能的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: 功能
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:java判断字符是否为空

相关资讯