1.导入相关pom依赖
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-dysmsapi</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.3.3</version>
</dependency>
2.登录阿里云官网开通短信服务 并且获取一些重要配置信息(我把我信息给你们了 没啥钱 别乱用就行)
给自己使用用户授权(没有用户的自己创建用户)
查看模板 签名信息等
3.创建bean管理短信服务需要用的参数
yml:(keyid keysecrect通过查看自己子用户获得)
aliyun:
sms: #短信服务
endpoint: cn-shanghai
keyid: LTAI5t917KtK4jMysr7q
keysercret: TpCng6xABP3hqehI9NyMAVQ
SignName: 阿里云短信测试 #模板 从阿里云获取
TemplateCode: SMS_154950909 #模板号
@Data
@Component
@ConfigurationProperties(prefix = "aliyun.sms")
public class SmsProperties {
private String endpoint;
private String keyid;
private String keysercret;
private String SignName;
private String TemplateCode;
}
4.创建短信发送服务
@Autowired
SmsProperties smsProperties;
//发送验证码
@Override
public void send(String tel, String code) throws ClientException {
DefaultProfile profile=DefaultProfile.getProfile(smsProperties.getEndpoint(),smsProperties.getKeyid(),smsProperties.getKeysercret());
IAcsClient client=new DefaultAcsClient(profile);
SendSmsRequest request=new SendSmsRequest();
request.setSignName(smsProperties.getSignName());
request.setTemplateCode(smsProperties.getTemplateCode());
request.setPhoneNumbers(tel);//设置手机号
Map<String,String> param=new HashMap<>();
param.put("code",code);
Gson gson=new Gson();
String json = gson.toJson(param);
request.setTemplateParam(json); //设置随机验证码
//发送过程
SendSmsResponse response=client.getAcsResponse(request);
log.info(response.getMessage());
}