pom.xml引入依赖
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>alibabacloud-dysmsapi20170525</artifactId>
<version>2.0.23</version>
</dependency>
点击查看代码
public class AliSms {
private AliSms() {
}
/**
* 配置凭证,需开通阿里短信服务
* accessKeyId
* accessKeySecret
* 已置空
*/
private static final StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder()
.accessKeyId("")
.accessKeySecret("")
.build());
/**
* 配置客户端
*/
private static final AsyncClient client = AsyncClient.builder()
.region("cn-shanghai") // Region ID
//.httpClient(httpClient) // Use the configured HttpClient, otherwise use the default HttpClient (Apache HttpClient)
.credentialsProvider(provider)
//.serviceConfiguration(Configuration.create()) // Service-level configuration
// Client-level configuration rewrite, can set Endpoint, Http request parameters, etc.
.overrideConfiguration(
ClientOverrideConfiguration.create()
.setEndpointOverride("dysmsapi.aliyuncs.com")
//.setConnectTimeout(Duration.ofSeconds(30))
)
.build();
public static void sendVerifyCode(String tel, String code) throws ExecutionException, InterruptedException {
SendSmsRequest request = SendSmsRequest.builder()
.signName("xx个人博客")
.templateParam(String.format("{\"code\":\"%s\"}", code))
.phoneNumbers(tel)
.templateCode("SMS_274780173")
// Request-level configuration rewrite, can set Http request parameters, etc.
// .requestConfiguration(RequestConfiguration.create().setHttpHeaders(new HttpHeaders()))
.build();
CompletableFuture<SendSmsResponse> resp = client.sendSms(request);
if (!"OK".equals(resp.get().getBody().getCode())) {
client.close();
throw new BusinessException(String.format("【阿里云】%s",resp.get().getBody().getMessage()));
}
client.close();
}
}