SpringBoot 集成騰訊雲短信服務


開通騰訊雲短信服務

  • 注冊騰訊雲
  • 個人實名認證

  • 進入到控制台,在雲產品中找到短信
    -w1107

  • 默認是沒有開通的,閱讀服務協議后,點擊開始接入
    -w793

  • 目前來說,只要實名認證過的,直接就可以開通短信服務
    -w538

  • 這個時候,就可以查看短信控制面板了
    -w1276

  • 測試短信發送
    -w1261
    -w542

  • 快速開始
    -w1229
    -w699
    -w930

  • 用自己的微信去注冊一個公眾號,我這邊目前已經有公眾號,所以使用公眾號就可以使用短信服務
    -w962

  • 創建短信模板
    -w1652
    -w1057
    -w531

  • 接下來耐心等待,基本上1小時內就行了,還是比較快的~
    -w1431

審核短信

-w646
初次使用,會有100條免費短信使用,這要比其他雲廠商人性化噢~
-w1055
審核成功后就可以發送了

  • 需要注意,雖然審核通過,但是模板的生效是需要等待的,有幾分鍾的延遲,等待一會就行。
    -w537
    -w1361

  • 幾分鍾后就成功了
    -w1371

測試手動發送短信

-w1649
模板修改后並且使用才能發送短信
-w980
如果格式不低,那么他會給你相應的提示
-w558

集成代碼進行短信發送

創建秘鑰
-w1209
自行創建秘鑰
-w1444

發送短信源碼:

@Component
public class SMSUtils {
    @Autowired
    private TencentCloudResource tencentCloudResource;

    public void sendSMS(String phone, String code) throws Exception {
        try {
            /* 必要步驟:
             * 實例化一個認證對象,入參需要傳入騰訊雲賬戶密鑰對secretId,secretKey。
             * 這里采用的是從環境變量讀取的方式,需要在環境變量中先設置這兩個值。
             * 你也可以直接在代碼中寫死密鑰對,但是小心不要將代碼復制、上傳或者分享給他人,
             * 以免泄露密鑰對危及你的財產安全。
             * CAM密匙查詢獲取: https://console.cloud.tencent.com/cam/capi*/
            Credential cred = new Credential(tencentCloudResource.getSecretId(),
                                             tencentCloudResource.getSecretKey());

            // 實例化一個http選項,可選的,沒有特殊需求可以跳過
            HttpProfile httpProfile = new HttpProfile();

//            httpProfile.setReqMethod("POST"); // 默認使用POST

            /* SDK會自動指定域名。通常是不需要特地指定域名的,但是如果你訪問的是金融區的服務
             * 則必須手動指定域名,例如sms的上海金融區域名: sms.ap-shanghai-fsi.tencentcloudapi.com */
            httpProfile.setEndpoint("sms.tencentcloudapi.com");

            // 實例化一個client選項
            ClientProfile clientProfile = new ClientProfile();
            clientProfile.setHttpProfile(httpProfile);
            // 實例化要請求產品的client對象,clientProfile是可選的
            SmsClient client = new SmsClient(cred, "ap-nanjing", clientProfile);

            // 實例化一個請求對象,每個接口都會對應一個request對象
            SendSmsRequest req = new SendSmsRequest();
            String[] phoneNumberSet1 = {"+86" + phone};//電話號碼
            req.setPhoneNumberSet(phoneNumberSet1);
            req.setSmsSdkAppId("14050456780");   // 短信應用ID: 短信SdkAppId在 [短信控制台] 添加應用后生成的實際SdkAppId
            req.setSignName("風間影月");         // 簽名
            req.setTemplateId("110888");       // 模板id:必須填寫已審核通過的模板 ID。模板ID可登錄 [短信控制台] 查看

            /* 模板參數(自定義占位變量): 若無模板參數,則設置為空 */
            String[] templateParamSet1 = {code};
            req.setTemplateParamSet(templateParamSet1);

            // 返回的resp是一個SendSmsResponse的實例,與請求對象對應
            SendSmsResponse resp = client.SendSms(req);
            // 輸出json格式的字符串回包
            System.out.println(SendSmsResponse.toJsonString(resp));
        } catch (TencentCloudSDKException e) {
            System.out.println(e.toString());
        }
    }

//    public static void main(String[] args) {
//        try {
//            new SMSUtils().sendSMS("13861886188", "7896");
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//    }
}


公眾號底部二維碼
公眾號底部知識星球二維碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM