本文章只涉及个人短信发送,并不涉及批量发送。
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 引入官方包
com.aliyun dysmsapi201705252.0.5
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();
}
}



