目 录CONTENT

文章目录

java编写发送短信

在水一方
2021-12-25 / 0 评论 / 0 点赞 / 1,150 阅读 / 1,401 字 / 正在检测是否收录...

有时候在项目中会涉及到需要给用户发送短信通知,这个功能用java应该如何实现呢,本文通过一个demo的实例来进行说明

这里介绍通过阿里云的短信服务来发送短信的示例 网址:https://next.api.aliyun.com/api/Dysmsapi/2017-05-25/SendSms?params={}

首先需要申请发送短信的模板:

  • 申请模板前需要先申请签名:

  • image.png

  • 待签名审批通过之后再申请模板
    image.png

代码示例:

  • 引入阿里云的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();
            }
        }

}


说明:这里的短信是按照条数进行收费的,可选不同的套餐,从账户扣取

0

评论区