Java阿里云短信服务接入Demo

136 阅读1分钟

1.首先引用阿里云sdk pom文件

	<dependency>
		<groupId>com.aliyun</groupId>
		<artifactId>aliyun-java-sdk-core</artifactId>
	<version>4.1.0</version>

2.准备工作 -

  • 2.1 创建AccessKeyId
    usercenter2.aliyun.com/home
    登录阿里云的用户中心
    然后点击accesskeys,进入之后创建accesskeys
    !!!!!!!!!!!!!!!!!!!!!!!
    请注意只有一次下载创建的Key和KeySecret的机会
    !!!!!!!!!!!!!!!!!!!!!!!
    在这里插入图片描述
  • 2.2 创建AccessKeySecret
    同上
  • 2.3 创建签名
    dysms.console.aliyun.com/dysms.htm#/…
    同理在这里创建签名
    在这里插入图片描述
  • 2.4 创建模板
    在签名栏右侧有创建模板
    例子:
    在这里插入图片描述
    3.发送demo
	/**
	 * 不同的内容发送给不同的手机号,最多十个手机号码
	 * @param message
	 */
	private void sendMessage(SendBatchMessage message) {
		DefaultProfile profile = DefaultProfile.getProfile("default", "AccessKeyId", "AccessKeySecret");
		IAcsClient client = new DefaultAcsClient(profile);
		CommonRequest request = new CommonRequest();
		request.setMethod(MethodType.POST);
		request.setDomain("dysmsapi.aliyuncs.com");
		request.setVersion("2017-05-25");
		request.setAction("SendBatchSms");
		request.putQueryParameter("RegionId", "default");//默认就行,他自己会分配
		//要发送给谁  最多十个手机号码  例子:["15900000000","13500000000"]   为数组和SignNameJson通过下标对应
		request.putQueryParameter("PhoneNumberJson", "[\"15900000000\",\"13500000000\"]");
		request.putQueryParameter("SignNameJson", "签名名称");
		request.putQueryParameter("TemplateCode", "模板code");
		//模板的参数值,key要和模板中一致,然后会将内容进行替换     为数组和SignNameJson通过下标对应
		request.putQueryParameter("TemplateParamJson", "[{\"code\":123},{\"code\":123}]");
		try {
			CommonResponse response = client.getCommonResponse(request);
			System.out.println(response.getData());
		} catch (ServerException e) {
			e.printStackTrace();
		} catch (ClientException e) {
			e.printStackTrace();
		}
	}

	/**
	 * 同一内容,群发
	 * @param message
	 */
	private void sendMessage(SendSmsMessage message) {
		DefaultProfile profile = DefaultProfile.getProfile("default", "AccessKeyId", "AccessKeySecret");
		IAcsClient client = new DefaultAcsClient(profile);
		CommonRequest request = new CommonRequest();
		request.setMethod(MethodType.POST);
		request.setDomain("dysmsapi.aliyuncs.com");
		request.setVersion("2017-05-25");
		request.setAction("SendSms");
		request.putQueryParameter("RegionId", "default");//默认就行,他自己会分配
		//要发送给谁  最多十个
		request.putQueryParameter("PhoneNumbers", "[\"18888888888\",\"18666666666\"]");
		request.putQueryParameter("SignName", "签名名称");
		request.putQueryParameter("TemplateCode", "模板code");
		//key要和模板中一致  然后会将内容进行替换
		request.putQueryParameter("TemplateParam", "{\"code\":123}");
		try {
			CommonResponse response = client.getCommonResponse(request);
			System.out.println(response.getData());
		} catch (ServerException e) {
			e.printStackTrace();
		} catch (ClientException e) {
			e.printStackTrace();
		}
	}