阿里云短信服务网址:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台
第一步:申请签名(一般申请时长在1-2小时之间)特别注意:场景说明不要乱填以免申请不通过
第二步:申请短信模板(一般申请时长在1-2小时之间)特别注意:场景说明不要乱填以免申请不通过
第三步:购买短信套餐 | 或者充值大于一条短信的钱数
第四步:创建AccessKey (创建完之后记得保存 accessKeyId & accessKeySecret)
第四步:导入jar包
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>alibabacloud-dysmsapi20170525</artifactId>
<version>2.0.22</version>
</dependency>
第五步:封装发送验证码util
import com.aliyun.auth.credentials.Credential;
import com.aliyun.auth.credentials.provider.StaticCredentialProvider;
import com.aliyun.sdk.service.dysmsapi20170525.AsyncClient;
import com.aliyun.sdk.service.dysmsapi20170525.models.SendSmsRequest;
import com.aliyun.sdk.service.dysmsapi20170525.models.SendSmsResponse;
import com.google.gson.Gson;
import darabonba.core.client.ClientOverrideConfiguration;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
public class SendSms {
/**
* 发送验证码工具类
*
* @param phone
* @return Map<String, String>
*/
public static Map<String, String> sendCode(String phone) {
String accessKeyId = "******";// 填写自己创建accessKeyId
String accessKeySecret = "*****"; // 填写自己创建accessKeySecret
StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder()
.accessKeyId(accessKeyId)
.accessKeySecret(accessKeySecret)
.build());
AsyncClient client = AsyncClient.builder()
.region("cn-hangzhou") // Region ID
.credentialsProvider(provider)
.overrideConfiguration(
ClientOverrideConfiguration.create()
.setEndpointOverride("dysmsapi.aliyuncs.com")
)
.build();
SendSmsRequest sendSmsRequest = SendSmsRequest.builder()
.signName("****") // 这里需要填写自己的签名名称
.templateCode("****")// 这里需要填写自己的短信模板code
.phoneNumbers(phone)
.templateParam("{\"code\":\"7981\"}")//这里是验证码
.build();
CompletableFuture<SendSmsResponse> response = client.sendSms(sendSmsRequest);
try {
SendSmsResponse resp = response.get();
System.out.println(new Gson().toJson(resp));
} catch (Exception e) {
e.printStackTrace();
} finally {
client.close();
}
Map<String, String> codeMap = new HashMap<>();
codeMap.put(sendSmsRequest.getPhoneNumbers(), sendSmsRequest.getTemplateParam());
return codeMap;
}
}
第六步:编写Controller接口
/**
* 发送短信接口
*/
@GetMapping("/code")
public ResponseBean<Map<String, String>> sendCode(@RequestParam("phone") String phone) {
return ResponseBean.success(SendSms.sendCode(phone));
}
测试:
短信验证码:
文章来源:https://www.toymoban.com/news/detail-735502.html
文章来源地址https://www.toymoban.com/news/detail-735502.html
到了这里,关于最近项目上需要发送短信整理了一篇文章 SpringBoot整合阿里云发送短信的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!