親測可用,需要先申請短信簽名喝模板,模板的參數(shù)一定要設(shè)
/*
*騰訊短信驗證碼發(fā)送*/
? public Map sends(String mobile)throws Exception{
Map map =new HashMap();
int i =1;
// 短信應(yīng)用SDK AppID
? ? ? int appid =your appid;// 1400開頭
? ? ? // 短信應(yīng)用SDK AppKey
? ? ? String appkey =yourappkey;
// 需要發(fā)送短信的手機(jī)號碼
? ? ? ? String[] phoneNumbers = { mobile };
String randomCode = getRandomCode();
try {
SmsSingleSender ssender =new SmsSingleSender(appid, appkey);
SmsSingleSenderResult result = ssender.send(0,"86", phoneNumbers[0], randomCode+"為您的登錄驗證碼纱烘,請于5分鐘內(nèi)填寫沐扳。如非本人操作,請忽略本短信。","","");
i = result.result;
map.put("result",i);
map.put("randomCode",randomCode);
}catch (HTTPException e) {// HTTP響應(yīng)碼錯誤
? ? ? ? ? e.printStackTrace();
}catch (JSONException e) {// json解析錯誤
? ? ? ? ? e.printStackTrace();
}catch (IOException e) {// 網(wǎng)絡(luò)IO錯誤
? ? ? ? ? e.printStackTrace();
}catch (org.json.JSONException e) {
e.printStackTrace();
}catch (com.github.qcloudsms.httpclient.HTTPException e) {
e.printStackTrace();
}
return map;
}
/**
? ? * 隨機(jī)生成6位驗證碼
? ? * @return
? ? */
? private String getRandomCode(){
Random random =new Random();
StringBuffer result=new StringBuffer();
for (int i=0;i<6;i++){
result.append(random.nextInt(10));
}
return result.toString();
}