首页 > 编程知识 正文

收到阿里云短信测试,阿里云短信测试专用是哪里的短信

时间:2023-05-04 14:40:20 阅读:261582 作者:1942

前言

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

一、免费开通短信服务

传送门

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

二、创建AccessKey

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

AccessKeyIdAccessKeySecretxxxxxxxxxx三、创建签名


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

四、创建模板

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

五、编码 发送内容实体类

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

/** * 短信内容VO类 */@Datapublic 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 修改成自己的accessKeyId static final String accessKeySecret = "xxxxxx"; // TODO 修改成自己的accessKeySecret static 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 此处可能会抛出异常,注意catch SendSmsResponse 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五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。