有时候在项目中会涉及到需要给用户发送短信通知,这个功能用java应该如何实现呢,本文通过一个demo的实例来进行说明
这里介绍通过阿里云的短信服务来发送短信的示例 网址:https://next.api.aliyun.com/api/Dysmsapi/2017-05-25/SendSms?params={}
首先需要申请发送短信的模板:
-
申请模板前需要先申请签名:
-
-
待签名审批通过之后再申请模板
代码示例:
- 引入阿里云的SDk
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.5.16</version>
</dependency>
代码:
public class sms {
public static void main(String[] args) {
DefaultProfile profile = DefaultProfile.getProfile("cn-qingdao", "<accessKeyId>", " <accessSecret>");
IAcsClient client = new DefaultAcsClient(profile);
CommonRequest request = new CommonRequest();
request.setSysMethod(MethodType.POST);
request.setSysDomain("dysmsapi.aliyuncs.com");
request.setSysVersion("2017-05-25");
request.setSysAction("SendSms");
request.putQueryParameter("PhoneNumbers", "xxxxx"); // 手机号
request.putQueryParameter("SignName", "XXX"); //签名名称
request.putQueryParameter("TemplateCode", "XXXX"); // 模板编码
request.putQueryParameter("TemplateParam", "{\"code\":\"1234\"}"); //短信模板变量对应的实际值
try {
CommonResponse response = client.getCommonResponse(request);
System.out.println(response.getData());
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
e.printStackTrace();
}
}
}
说明:这里的短信是按照条数进行收费的,可选不同的套餐,从账户扣取
评论区