阿里云发送短信功能(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());
        }
    }
}
相关推荐
ZhangJun9510 小时前
在 32GB 内存电脑上本地搭建 Qwen3.6-35B-A3B 大模型踩坑实录
运维·人工智能·阿里云·ai·软件构建
Joecien18 小时前
【2026实测】百炼 CLI 托管 Agent 教程:bl managed-agent 配置校验、版本回滚与变更预演(附完整命令)
人工智能·git·阿里云·知识图谱·agi
workflower21 小时前
世界模型向产业上游发掘的热点
人工智能·机器学习·机器人·云计算·无人机
程序猿老A21 小时前
阿里云linux服务器安装mysql并实现远程访问
linux·服务器·阿里云
ha_lydms1 天前
MaxCompute中JSON函数
大数据·数据库·阿里云·json·dataworks·maxcompute·odps
通信瓦工1 天前
Meta开放式机架V3 BBU/机架结构设计参考
ai·云计算
鹿邑妈糊1 天前
kvm-clock时钟虚拟化原理
云计算
AI Data 搭子2 天前
阿里云发布 Agentic Storage 全矩阵产品:面向 AI 到 Agent 负载的全栈演进
人工智能·阿里云·云计算
阿里云大数据AI技术2 天前
息壤开物 × 阿里云:为具身智能造一座“会生长的数据工厂“
大数据·人工智能·阿里云·dataworks·maxcompute
ZhangJun952 天前
Linux常用命令笔记,中高级运维高频指令,并附上vim常见操作
linux·运维·centos·云计算·vim