java使用阿里云发送短信验证码(随机生成4位验证码)

在使用前先要开通阿里云的短信服务功能,并且申请通过短信模板和短信签名(重要)!
需要的依赖:

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

功能的实现:

import com.aliyun.dysmsapi20170525.Client;
import com.aliyun.dysmsapi20170525.models.SendSmsRequest;
import com.aliyun.teaopenapi.models.Config;

import java.util.ResourceBundle;

public class t2 {
    //读取配置文件,自己手动建立inf.properties文件
    ResourceBundle inf=ResourceBundle.getBundle("inf");
    //获取你的accessKeyId
    String accessKeyId=inf.getString("accessKeyId");
    //获取你的accessKeySecret
    String accessKeySecret=inf.getString("accessKeySecret");
    //获取你的短信模板CODE
    String TemplateCode=inf.getString("TemplateCode");
    //获取你的短信签名名称
    String SignName=inf.getString("SignName");
    /**
     *
     * @param accessKeyId
     * @param accessKeySecret
     * @return Client
     * @throws Exception
     */
    public static com.aliyun.dysmsapi20170525.Client createClient(String accessKeyId, String accessKeySecret) throws Exception {
        Config config = new Config()
                // 您的AccessKey ID
                .setAccessKeyId(accessKeyId)
                // 您的AccessKey Secret
                .setAccessKeySecret(accessKeySecret);
        // 访问的域名
        config.endpoint = "dysmsapi.aliyuncs.com";
        return new com.aliyun.dysmsapi20170525.Client(config);
    }

    public void Main(String codeParam,String PhoneNumbers) throws Exception {
        Client client = t2.createClient(accessKeyId, accessKeySecret);
        SendSmsRequest sendSmsRequest = new SendSmsRequest()
                .setPhoneNumbers(PhoneNumbers)
                .setSignName(SignName)
                .setTemplateCode(TemplateCode)
                .setTemplateParam("{\"code\":" + codeParam+ "}");
        // 复制代码运行请自行打印 API 的返回值
        client.sendSms(sendSmsRequest);
    }

    /**
     * @return 返回随机生成的验证码
     */
    public String SSM() {
        int TemplateParam;
        double random;
        random = Math.random();
        if (random > 0.1) {
            random = random * 10000;
        } else {
            random = random * 100000;
        }
        TemplateParam = (int) Math.floor(random);
        String coadParam = String.valueOf(TemplateParam);
        return coadParam;
    }
    
    public static void main(String[] args) throws Exception {
        t2 t2=new t2();
        String ssm = t2.SSM();
        String Phone="17339811151";
        t2.Main(ssm,Phone);
    }

}

还需要在根目录创建名为inf.properties的文件

accessKeyId=LTAI5tCN3r******WANNKPon
accessKeySecret=PyTUjnr4I********ZpOVWzIGo1fnv
TemplateCode=SMS_****56574
SignName=**********

完结!遇到问题请扣我!


版权声明:本文为qq_50376377原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。