个人测试:在idea中使用阿里云实现短信发送(java)

登录阿里云官网并注册

阿里云官网:阿里云-计算,为了无法计算的价值

点击登录注册

搜索:短信服务->选择短信控制台

之后选择快速学习和测试,根据快速学习的指引完成新增资质-申请签名-申请模板,这三个申请下来后,绑定你需要测试发送的手机号。

以上操作完成后,点击右上角头像,选择AccessKey管理。

创建AccessKey,建议创建子用户

记得添加权限后使用

如果继续使用AccessKey创建(!!!记得保存好AccessKey Secret)

之后就可以在IDAE中测试了,下面是简单的例子

首先导包

maven

<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>dysmsapi20170525</artifactId>
    <version>2.0.24</version>
</dependency>

之后源代码,根据代码中所给提示填写必要的参数

(可以直接拷贝官方模板,如图)

Sample.java

public class Sample {
    /**
     * 使用AK&SK初始化账号Client
     * @param accessKeyId
     * @param accessKeySecret
     * @return Client
     * @throws Exception
     */
    public static com.aliyun.dysmsapi20170525.Client createClient(String accessKeyId, String accessKeySecret) throws Exception {
        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
                // 必填,您的 AccessKey ID
                .setAccessKeyId("")
                // 必填,您的 AccessKey Secret
                .setAccessKeySecret("");
        // Endpoint 请参考 https://api.aliyun.com/product/Dysmsapi
        config.endpoint = "dysmsapi.aliyuncs.com";
        return new com.aliyun.dysmsapi20170525.Client(config);
    }

    public static void main(String[] args_) throws Exception {
        java.util.List<String> args = java.util.Arrays.asList(args_);
        // 请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID 和 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
        // 工程代码泄露可能会导致 AccessKey 泄露,并威胁账号下所有资源的安全性。以下代码示例使用环境变量获取 AccessKey 的方式进行调用,仅供参考,建议使用更安全的 STS 方式,更多鉴权访问方式请参见:https://help.aliyun.com/document_detail/378657.html
        com.aliyun.dysmsapi20170525.Client client = Sample.createClient(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
        com.aliyun.dysmsapi20170525.models.SendSmsRequest sendSmsRequest = new com.aliyun.dysmsapi20170525.models.SendSmsRequest()
                //发送手机号,注意测试需要使用已经注册的测试手机号
                .setPhoneNumbers("")
                //填写你的签名
                .setSignName("")
                //填写你的模板CODE
                .setTemplateCode("");
                //填写参数
                .setTemplateParam("");
        com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
        try {
            // 复制代码运行请自行打印 API 的返回值
            SendSmsResponse s=client.sendSmsWithOptions(sendSmsRequest, runtime);
            //可以用debug查看返回值,判断短信是否发送成功
            System.out.println(s.getBody());
        } catch (TeaException error) {
            // 如有需要,请打印 error
            com.aliyun.teautil.Common.assertAsString(error.message);
        } catch (Exception _error) {
            TeaException error = new TeaException(_error.getMessage(), _error);
            // 如有需要,请打印 error
            com.aliyun.teautil.Common.assertAsString(error.message);
        }
    }
}

代码可能会出现SLF4J报错,可以添加下列代码解决(注意两个包版本(${slf4j.version})需要一致)

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>${slf4j.version}</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>${slf4j.version}</version>
    <type>jar</type>
</dependency>

最后进行测试

发送成功

附加一点

注意短信余量,申请的个体用户可以免费领100条.

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值