阿里云发送短信功能(Java)

(1)注册用户,并且开通短信套餐

(2)

点击快速学习,然后绑定测试的手机号码。

选用专用测试签名(自定义的话阿里可能会验证什么什么的比较麻烦)

然后在选取调用API

(3)

鼠标滑动右上角,然后点击AccessKey,进入页面创建AccessKey,之后将key和secret保存下来。

(4)

这是进入的调用短信API的页面,然后开始复制粘贴代码

java 复制代码
@DubboService
@Service
public class MessageServiceImpl implements MessageService {
    @Value("${message.accessKeyId}")
    private String accessKeyId;
    @Value("${message.accessKeySecret}")
    private String accessKeySecret;


    @SneakyThrows
    @Override
    public BaseResult sendMessage(String phoneNumber, String code) {
       //第一个参数:手机号
//第二个参数验证码
        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();


        // Parameter settings for API request
        SendSmsRequest sendSmsRequest = SendSmsRequest.builder()
                .signName("阿里云短信测试")
                .templateCode("SMS_154950909")
                .phoneNumbers(phoneNumber)
                .templateParam("{\"code\":\"" + code + "\"}")
           
                .build();


     
        CompletableFuture<SendSmsResponse> response = client.sendSms(sendSmsRequest);
      
        SendSmsResponse resp = response.get();
       
        client.close();


        SendSmsResponseBody respBody = resp.getBody();
        if ("OK".equals(respBody.getCode())) {
            return new BaseResult(200, respBody.getCode(), respBody.getMessage());
        } else {
            return new BaseResult(500, respBody.getCode(), respBody.getMessage());
        }
    }
}
相关推荐
_运维那些事儿5 小时前
VM环境的CI/CD
linux·运维·网络·阿里云·ci/cd·docker·云计算
人间打气筒(Ada)8 小时前
k8s:CNI网络插件flannel与calico
linux·云原生·容器·kubernetes·云计算·k8s
小白考证进阶中11 小时前
阿里云ACA热门科目有哪些?考什么内容?
阿里云·阿里云认证·云计算运维·阿里云aca证书·阿里云aca认证·阿里云aca·aca证书
主机哥哥13 小时前
2026年阿里云五种方案快速部署 OpenClaw(Clawdbot)详细教程
阿里云·云计算
m0_6948455714 小时前
music-website 是什么?前后端分离音乐网站部署实战
linux·运维·服务器·云计算·github
新新学长搞科研14 小时前
【智慧城市专题IEEE会议】第六届物联网与智慧城市国际学术会议(IoTSC 2026)
人工智能·分布式·科技·物联网·云计算·智慧城市·学术会议
翼龙云_cloud14 小时前
亚马逊云代理商: RDS 误删实例急救指南 5 步找回数据
服务器·云计算·aws
翼龙云_cloud14 小时前
阿里云代理商: 如何选择适合自己的阿里云 ECS 配置?
服务器·阿里云·云计算
以太浮标15 小时前
华为eNSP模拟器综合实验之- DHCP Option 43 解析
服务器·网络·华为·云计算
Apache Flink16 小时前
Flink 实时计算 x SLS 存储下推:阿里云 OpenAPI 网关监控平台实践
大数据·阿里云·flink·云计算