通过阿里云发送短信
通过阿里云发送短信
这里通过测试API来发送
查看官网
搜索短信服务
绑定测试手机号,点击调用API
可以看到有发送短信的示例代码
创建用于发送短信的AccessKey
创建完用户后给其分配发送SMS的权限
给用户创建AccessKey(创建完记得保存)
代码
- 根据示例代码,首先导入依赖
1 |
|
这里通过将AccessKey 和密钥放到配置文件中,再通过@Value注解来读取
1
2
3
4
5
6# 地域节点
aliyun.sms.regionId=default
# 访问ID
aliyun.sms.accessKeyId=
# 访问密钥
aliyun.sms.secret=1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24@Component
// InitializingBean接口为bean提供了属性初始化后的处理方法
public class ConstantPropertiesUtils implements InitializingBean {
@Value("${aliyun.sms.regionId}")
private String regionId;
@Value("${aliyun.sms.accessKeyId}")
private String accessKeyId;
@Value("${aliyun.sms.secret}")
private String secret;
public static String REGION_Id;
public static String ACCESS_KEY_ID;
public static String SECRET;
@Override
public void afterPropertiesSet() throws Exception {
REGION_Id = regionId;
ACCESS_KEY_ID = accessKeyId;
SECRET = secret;
}
}创建发送短信的service
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37@Service
public class MsmServiceImpl implements MsmService {
@Override
public boolean send(String phone, String code) {
if (StringUtils.isEmpty(phone))
return false;
// 基础配置
DefaultProfile profile = DefaultProfile.getProfile(
ConstantPropertiesUtils.REGION_Id, // 地域节点
ConstantPropertiesUtils.ACCESS_KEY_ID, // 访问ID
ConstantPropertiesUtils.SECRET); //访问密钥
IAcsClient client = new DefaultAcsClient(profile);
SendSmsRequest request = new SendSmsRequest();
request.setSignName("阿里云短信测试"); // 短信签名
request.setTemplateCode("SMS_154950909"); // 短信模板
request.setPhoneNumbers(phone); // 发送的手机号
request.setTemplateParam("{\"code\":\"" + code + "\"}"); // 发送的验证码
try {
// 发送短信
SendSmsResponse response = client.getAcsResponse(request);
return "OK".equals(response.getCode());
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
System.out.println("ErrCode:" + e.getErrCode());
System.out.println("ErrMsg:" + e.getErrMsg());
System.out.println("RequestId:" + e.getRequestId());
}
return false;
}
}
通过阿里云发送短信
http://xwww12.github.io/2022/11/12/其他/通过阿里云发送短信/