开通短信服务

添加签名管理

image-20210510145203640

添加模板管理

创建子AccessKey

阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议创建并使用RAM账号进行API访问或日常运维,请登录RAM控制台创建RAM账号。官网地址https://ram.console.aliyun.com/manage/ak

image-20210510145453722

image-20210510145536534

短信服务实践

官方文档https://help.aliyun.com/document_detail/101300.html?spm=5176.12207334.0.0.2b7d1cbeV25Xam

引入依赖

<dependencies>
    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-core</artifactId>
    </dependency>
</dependencies>

发送短信核心代码

// 发送短信
@Override
public Boolean send(Map<String, Object> param, String phone) {
    if (StringUtils.isEmpty(phone)) return false;
    DefaultProfile profile = DefaultProfile.getProfile("default", "your_ak", "your_sk");
    IAcsClient client = new DefaultAcsClient(profile);

    // 设置相关固定的参数
    CommonRequest request = new CommonRequest();
    request.setSysMethod(MethodType.POST);
    request.setSysDomain("dysmsapi.aliyuncs.com");
    request.setSysVersion("2017-05-25");
    request.setSysAction("SendSms");
    // 设置发送相关的参数
    request.putQueryParameter("RegionId", "cn-hangzhou");
    request.putQueryParameter("PhoneNumbers", phone);
    request.putQueryParameter("SignName", "KeepOn在线视频网站");
    request.putQueryParameter("TemplateCode", "SMS_205825004");
    request.putQueryParameter("TemplateParam", JSONObject.toJSONString(param));
    try {
        CommonResponse response = client.getCommonResponse(request);
        boolean success = response.getHttpResponse().isSuccess();
        return success;
    } catch (ServerException e) {
        e.printStackTrace();

    } catch (ClientException e) {
        e.printStackTrace();
    }
    return false;
}
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐