阿里云发送短信功能(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());
        }
    }
}
相关推荐
观测云1 小时前
观测云 × AWS SSO:权限治理可观测实践
云计算·aws
draymond71077 小时前
阿里云-spring boot 接入SLS日志
阿里云
马里马里奥-11 小时前
在Windows系统部署本地智能问答系统:基于百度云API完整教程
windows·云计算·百度云
来自于狂人9 天前
速通Ceph分布式存储(含超详细图解)
云计算
云宏信息10 天前
金融vmware替换过程中关于利旧纳管、迁移、数据安全容灾备份、成本及案例|金融行业数字化QA合集④
大数据·运维·服务器·科技·金融·云计算
成都极云科技10 天前
如何选择适合的服务器托管方案以优化网站性能:提升速度与稳定性的关键决策
运维·服务器·人工智能·云计算·gpu算力
小猴崽10 天前
腾讯云轻量数据库:性能与成本优化的新一代数据解决方案
数据库·云计算·腾讯云
编程乐学(Arfan开发工程师)10 天前
74、单元测试-前置条件
redis·python·阿里云·单元测试·云计算·bootstrap
Elastic 中国社区官方博客10 天前
如何在 Python 中连接 Elasticsearch 并使用 Qwen3 来实现 RAG
大数据·人工智能·python·elasticsearch·搜索引擎·阿里云·全文检索
Ultipa10 天前
数据驱动 AI 时代:数据库行业的技术跃迁与生态重构
大数据·数据库·人工智能·重构·云计算·图数据库