1. 程式人生 > 程式設計 >Java實現阿里雲簡訊介面的示例

Java實現阿里雲簡訊介面的示例

阿里雲簡訊服務介面

阿里雲簡訊服務(Short Message Service)是阿里云為使用者提供的一種通訊服務的能力。

支援向國內和國際快速傳送驗證碼、簡訊通知和推廣簡訊,服務範圍覆蓋全球200多個國家和地區。國內簡訊支援三網合一專屬通道,與工信部攜號轉網平臺實時互聯。電信級運維保障,實時監控自動切換,到達率高達99%。完美支撐雙11期間20億簡訊傳送,6億使用者觸達。

快速開發

①開啟簡訊服務

1)登陸阿里雲服務平臺

在這裡插入圖片描述

2)選擇控制檯

在這裡插入圖片描述

3)點選左上角下拉按鈕選擇簡訊服務

在這裡插入圖片描述

4)開通簡訊服務

在這裡插入圖片描述

②實名認證

1)如果沒有實名認證需要跳轉實名認證介面

在這裡插入圖片描述

2)選擇相應的認證

在這裡插入圖片描述

3)選擇支付寶快速的認證

在這裡插入圖片描述

③建立簽名與模板

1)添加簽名

在這裡插入圖片描述

2)選擇簽名使用場景

驗證碼:只能使用驗證碼模板

通用:都可以使用(申請較為嚴格)

在這裡插入圖片描述

3)建立簡訊模板

在這裡插入圖片描述

4)根據常用模板庫申請相應簡訊模板

根據使用簽名可以建立相應模板,注意:驗證碼簽名只能使用驗證碼模板

在這裡插入圖片描述

④完成前期的準備工作

1)獲取申請成功的簽名(註冊時的簽名名稱)

在這裡插入圖片描述

2)獲取申請成功的簡訊模板(模版code)

在這裡插入圖片描述

3)獲取AccessKey ID 和 AccessKey Secret

在這裡插入圖片描述

⑤程式碼書寫

1)匯入相應座標

<dependency>
   <groupId>com.aliyun</groupId>
   <artifactId>aliyun-java-sdk-core</artifactId>
   <version>4.5.3</version>
  </dependency>
  <dependency>
   <groupId>com.aliyun</groupId>
   <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
   <version>1.0.0</version>
  </dependency>

2)建立簡訊傳送工具類

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.profile.IClientProfile;
public class SendSms {
  private static final String AccessKeyId = "";//你的accessKeyId
  private static final String AccessKeySecret = "";//你的accessKeySecret
  private static final String SignName = "";//使用的簽名
  private static final String TemplateCode = "";//傳送簡訊使用的模板
  private static IAcsClient acs = null;//服務物件
  private static SendSmsRequest req = new SendSmsRequest();//簡訊傳送請求物件
  static {
    IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou",AccessKeyId,AccessKeySecret);
    acs = new DefaultAcsClient(profile);
  }
  //隨機生成指定位數驗證碼
  public static StringBuffer randomCode(int number){
    //驗證碼內容集
    final char[] CHARS = {
        '0','1','2','3','4','5','6','7','8','9'};
    StringBuffer stringBuffer=new StringBuffer();
    Random r=new Random();
    for(int i=0;i<number;i++){
      stringBuffer.append(CHARS[r.nextInt(CHARS.length)]);
    }
    return stringBuffer;
  }
  //自定義傳送方法
  public static boolean sendCode(String mobile,String code) throws ClientException {
    req.setPhoneNumbers(mobile);//設定接收簡訊手機號
    req.setSignName(SignName);//設定使用簽名
    req.setTemplateCode(TemplateCode);//設定使用通知模板id
    req.setTemplateParam("{\"code\":\"" + code + "\"}");//設定請求引數 以json字串形式與模板一致
    SendSmsResponse res = acs.getAcsResponse(req);//向伺服器傳送請求
    //System.out.println("res code: " + res.getCode());//響應狀態碼
    // System.out.println("res message: " + res.getMessage());//響應資訊
    if (res.getCode() == null && !res.getCode().equals("OK")) {
      System.out.println(res.getMessage());
      return false;
    }
    return true;
  }
  public static void main(String[] args) throws ClientException {
    System.out.println(sendCode("手機號","驗證碼"));
  }
}

更多請檢視阿里簡訊服務手冊
阿里簡訊服務手冊

到此這篇關於Java實現阿里雲簡訊介面的示例的文章就介紹到這了,更多相關Java 阿里雲簡訊介面內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!