阿里云短信发送实现

一、配置pom.xml文件

<!-- 添加以下依赖安装阿里云Java SDK核心库 -->
		<dependency>
		    <groupId>com.aliyun</groupId>
		    <artifactId>aliyun-java-sdk-core</artifactId>
		    <version>4.1.0</version>
		</dependency>
<!-- 若pom.xml  中引入Gson的包时,要修改版本为一下版本,不然会报异常,版本冲突->	
<!-- Gson 阿里云短信发送时低版本报错-->
		<dependency>
			<groupId>com.google.code.gson</groupId>
			<artifactId>gson</artifactId>
			<version>2.8.5</version>
		</dependency>

二、购买阿里云短信服务 生成accessKeyId accessKeySecret

点击用户头像,进入accesskeys在这里插入图片描述
在这里插入图片描述
选择继续使用Accesskey,创建Assesskey,生成秘钥,如下图
在这里插入图片描述
三、设置短信模板
地址:https://dysms.console.aliyun.com/dysms.htm#/overview
在选择这里插入图片描述
1选择国内消息-签名管理-添加签名
签名名称为发送短信时参数 SignName
2选择模板管理
在这里插入图片描述
添加模板,完成后生成模板Code ,即为参数TemplateCode
三、写代码测试

package com.controller;

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;

/** 
 * @author f
 * @date 创建时间:2019年5月30日 下午4:19:19 
 * @version 1.0 
 **/
public class testAliyunDX {
	public static void main(String[] args) {
		final String domain = "dysmsapi.aliyuncs.com";//短信API产品域名(接口地址固定,无需修改)
		final String accessKeyId = "accessKeyId ";//你的accessKeyId
		final String accessKeySecret = "accessKeySecret ";//你的accessKeySecret
		DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId,accessKeySecret);
		IAcsClient acsClient = new DefaultAcsClient(profile);
		 //组装请求对象
		 CommonRequest request = new CommonRequest();
		 //使用post提交
		 request.setMethod(MethodType.POST);
		 request.setDomain(domain);
		 request.setVersion("2017-05-25");
		 request.setAction("SendSms");
		 request.putQueryParameter("RegionId", "cn-hangzhou");
		 request.putQueryParameter("PhoneNumbers", "13245674567");
		 request.putQueryParameter("SignName", "张三");
	 	 request.putQueryParameter("TemplateCode", "SMS_166865245");
		 request.putQueryParameter("TemplateParam", "{\"name\":\"陈\",\"roadName\":\"绍\",\"time\":\"一\"}");
		 //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为
		 //友情提示:如果JSON中需要带换行符,请参照标准的JSON协议对换行符的要求,比如短信内容中包含\r\n的情况在JSON中需要表示成\\r\\n,否则会导致JSON在服务端解析失败
		 try {
			 CommonResponse response = acsClient.getCommonResponse(request);
			 System.out.println(response.getData());
		 } catch (ServerException e) {
			 // TODO Auto-generated catch block
			 e.printStackTrace();
		 } catch (ClientException e) {
			  // TODO Auto-generated catch block
			  e.printStackTrace();
		 }
	}
}

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值