開通騰訊雲短信服務
- 注冊騰訊雲
-
個人實名認證
-
進入到控制台,在雲產品中找到短信

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

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

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

-
測試短信發送


-
快速開始



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

-
創建短信模板



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

審核短信

初次使用,會有100條免費短信使用,這要比其他雲廠商人性化噢~

審核成功后就可以發送了
-
需要注意,雖然審核通過,但是模板的生效是需要等待的,有幾分鍾的延遲,等待一會就行。


-
幾分鍾后就成功了

測試手動發送短信

模板修改后並且使用才能發送短信

如果格式不低,那么他會給你相應的提示

集成代碼進行短信發送
創建秘鑰

自行創建秘鑰

發送短信源碼:
@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();
// }
// }
}


