Spring Boot 引入阿里云短信服务

本文档详细介绍了如何在阿里云上配置并使用短信服务。首先需要在阿里云官网注册并开通业务,接着创建签名和模板。由于政策限制,短信服务仅能用于上线系统。完成设置后,通过AccessKey ID和AccessKey Secret进行身份验证,利用SDK发送短信。在项目中,将这些信息存入配置文件,并编写工具类进行调用,实现短信的发送功能。
摘要由CSDN通过智能技术生成

本文章只涉及个人短信发送,并不涉及批量发送。

 

1,去阿里云服务器进行注册登录,开通业务。

  阿里云地址 :   https://www.aliyun.com/   

2,开通短信业务后,添加签名和模板。

 

 短信发送是基于模板文段的,只能替换部分值。

2020/12 阿里的短信功能就不能用于测试系统和学习场景了。

如果需要使用阿里云的短信服务,就需要系统上线,小程序和APP也需上线才可以使用。

3,添加完签名和模板,并且审核完成后, 可以在工作台的快速学习进行测试发送,查看测试结果。并且可以查看相关代码。

4,获取ID、密钥

工作台头像弹框中AccessKey管理查看。

4,测试完成后,进行项目使用。

项目测试时无法确认上线使用的ID和KEY,就把这些写在了配置文件中。

1)application.yml 配置

#阿里短信发送
ali:
  #ID
  accessKey_id: 你的ID
  #key
  accessKey_secret: 你的KEY
  #短信签名名称
  signname: 
  #短信模板ID
  templatecode: 

2)pom.xml 引入官方包

<!-- 阿里云短信服务-->
 <dependency>
     <groupId>com.aliyun</groupId>
     <artifactId>dysmsapi20170525</artifactId>
     <version>2.0.5</version>
 </dependency>

3)SendData.java  短信发送工具包

import com.aliyun.tea.*;
import com.aliyun.dysmsapi20170525.*;
import com.aliyun.dysmsapi20170525.models.*;
import com.aliyun.teaopenapi.*;
import com.aliyun.teaopenapi.models.*;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

/**
 * 调用阿里云短信发送
 */
@Component
public class SendData {

    @Value("${ali.accessKey_id}")
    private String accessKey_id;
    @Value("${ali.accessKey_secret}")
    private String accessKey_secret;
    @Value("${ali.signname}")
    private String signname;
    @Value("${ali.templatecode}")
    private String templatecode;

    public void ponedata( String pone,String data) throws Exception{
        Config config = new Config()
                // AccessKey ID
                .setAccessKeyId(accessKey_id)
                // AccessKey Secret
                .setAccessKeySecret(accessKey_secret);
        // 访问的域名
        config.endpoint = "dysmsapi.aliyuncs.com";

        com.aliyun.dysmsapi20170525.Client client = new      
                  com.aliyun.dysmsapi20170525.Client(config);
        SendSmsRequest sendSmsRequest = new SendSmsRequest()
                .setPhoneNumbers(pone)
                .setSignName(signname)
                .setTemplateCode(templatecode)
                .setTemplateParam("{\"code\":"+data+"}");
        // 获取API 的返回值
        SendSmsResponse sendSmsRequest1 =  client.sendSms(sendSmsRequest);
    }

}

4)工具类调用

引入

@Autowired
private SendData sendData;

调用

    /**
     * 短信发送测试
     */
    @PostMapping("/sendata")
    @ResponseBody
    public void sendata(){
        try {
            sendData.ponedata(你的手机号,模板插入内容);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值