使用阿里云提供的短信服务发送短信(个人版)

您所在的位置:网站首页 怎么给多个人发短信通知 使用阿里云提供的短信服务发送短信(个人版)

使用阿里云提供的短信服务发送短信(个人版)

2023-08-11 01:51| 来源: 网络整理| 查看: 265

本人最近需要实现一个注册发短信验证码的功能,找了几家短信服务平台,如腾讯云,云片网等,发现他们都没有提供给用户个人的短信服务权限,申请短信签名等都需要有企业等相关证明,最后找到了阿里云的短信服务平台,下面就介绍下个人如何开通使用阿里云提供的短信服务。

首先是注册并登录阿里云,然后开通短信服务等。要发送短信之前需要先申请短信签名,每个个人用户可以申请一个验证码签名,如下图:

填写相关信息后点击确定,会进入签名审核状态,审核成功就可以使用该签名,一般是半小时左右审核完。

然后是申请短信模板,如下图:

一般也是半小时左右审核完,通常模板会比签名更容易通过审核。

签名和模板都审核通过后,就可以进行开发了。如果调用API出错,可以通过以下链接查看API错误码,https://help.aliyun.com/document_detail/101346.html。

示例代码如下:

import com.aliyuncs.CommonRequest; import com.aliyuncs.CommonResponse;

import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.exceptions.ServerException; import com.aliyuncs.http.MethodType; import com.aliyuncs.profile.DefaultProfile; /* pom.xml   com.aliyun   aliyun-java-sdk-core   4.0.3 */

//发送短信只需要阿里云SDK核心库,需要导入:aliyun-java-sdk-core-4.1.0.jar,同时依赖google的gson,需要导入:gson-2.8.5.jar,否则报错 public class CommonRpc {     public static void main(String[] args) {         // 创建DefaultAcsClient实例并初始化        /* DefaultProfile profile = DefaultProfile.getProfile(             "",          // 您的地域ID             "",      // 您的AccessKey ID             ""); // 您的AccessKey Secret */                       //自己创建了子账号 AccessKey并授权可访问一切短信服务, //        输入对应的AccessKey ID和AccessKey Secret,相当于账号密码调用短信API,须保密         DefaultProfile profile = DefaultProfile.getProfile("default", "", "");                 IAcsClient client = new DefaultAcsClient(profile);         /*阿里云产品的API有RPC和RESTful两种风格,不同风格的API的CommonRequest的调用方法也不同,每种API都只有一种调用风格。                     通常API参数中包含Action参数的是RPC风格,调用的某个产品的API没有提供SDK时,可以采用泛用型的API调用方式(CommonRequest)。                     使用CommonRequest调用方式可实现任意Open API接口的调用。*/         CommonRequest request = new CommonRequest();         //request.setProtocol(ProtocolType.HTTPS); //      设置发送请求方法         request.setMethod(MethodType.POST); //      设置发送短信服务器,默认为dysmsapi.aliyuncs.com         request.setDomain("dysmsapi.aliyuncs.com"); //      设置版本,默认为2017-05-25         request.setVersion("2017-05-25"); //      设置调用的API方法名         request.setAction("SendSms"); //      接收短信的电话号码         request.putQueryParameter("PhoneNumbers", "电话号码"); //      短信签名,如【阿里云】,须申请,使用申请成功的签名         request.putQueryParameter("SignName", "阿里云"); //      短信模板,须申请,使用申请成功的短信模板的模版CODE         request.putQueryParameter("TemplateCode", "SMS_10086***"); //      申请的短信模板中的变量code的值,如验证码,字符串格式必须为"{code:123051}",否则报错,123051由代码生成         request.putQueryParameter("TemplateParam", "{code:123051}");         try {             CommonResponse response = client.getCommonResponse(request); //          获取执行之后的信息,显示成功提示或者失败信息             System.out.println(response.getData());         } catch (ServerException e) {             e.printStackTrace();         } catch (ClientException e) {             e.printStackTrace();         }     } }

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3