阿里雲實名認證分為個人實名認證和企業實名認證,短信服務產品屬於后付費產品,即發送短信成功才會開始計費。
不同短信模板的單價不同,產生費用后,進行累計計費,每5分鍾出賬一次,每個月月底進行扣費。≤10萬時,0.045元/條,沖個幾塊錢,個人做小項目練手的話是夠用的。
阿里雲短信官網:https://helpcdn.aliyun.com/product/44282.html
使用場景:作為個人用戶,主要是用來做短信驗證碼,如登錄注冊找回密碼等功能。
使用流程:
進入快速入門頁面,https://help.aliyun.com/document_detail/55288.html?spm=a2c4g.11186623.6.557.6b6abc45UPyJ3A,按照教程完成個人認證,開通短信服務,申請短信簽名和模板(審核得幾個小時),給賬戶沖點錢,發送短信。
進入OpenAPI Explorer,根據提示,填寫你的參數,會給一個能運行的小例子,發起調用就能收到短信了。
在項目中集成
首先添加依賴:
1 <dependency> 2 <groupId>com.aliyun</groupId> 3 <artifactId>aliyun-java-sdk-core</artifactId> 4 <version>4.0.3</version> 5 </dependency>
import com.aliyuncs.CommonRequest; import com.aliyuncs.CommonResponse; import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.exceptions.ServerException; import com.aliyuncs.http.MethodType; import com.aliyuncs.profile.DefaultProfile; /* pom.xml <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>4.0.3</version> </dependency> */ public class SendSms { public static void main(String[] args) { DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "<accessKeyId>", "<accessSecret>"); IAcsClient client = new DefaultAcsClient(profile); CommonRequest request = new CommonRequest(); request.setMethod(MethodType.POST); request.setDomain("dysmsapi.aliyuncs.com"); request.setVersion("2017-05-25"); request.setAction("SendSms"); request.putQueryParameter("RegionId", "cn-hangzhou"); request.putQueryParameter("PhoneNumbers", "132xxxxxxxx"); request.putQueryParameter("SignName", "xxx"); request.putQueryParameter("TemplateCode", "SMS_xxxxxx"); request.putQueryParameter("TemplateParam", "{\"code\":\"xxxx\"}"); try { CommonResponse response = client.getCommonResponse(request); System.out.println(response.getData()); } catch (ServerException e) { e.printStackTrace(); } catch (ClientException e) { e.printStackTrace(); } } }
如果和我一樣是用於找回密碼功能,使用流程如下
1:后台Service層隨機生成幾位驗證碼
2:根據傳入的手機號,使用官方給的API,設為自己的參數,將驗證碼發送出去
3:獲取用戶的輸入驗證碼,和后台驗證碼進行對比
4:如果一致,則可以修改密碼