如何实现短信验证码功能
1.准备工作
1.1 注册 阿里云 账号,并完成实名认证。找到短信服务功能。
1.2 开通短信服务
1.3 签名与模板
阿里云不支持个人申请签名和模板,这里可以不申请,可以先使用阿里云提供的免费的测试签名与模板
1.4 获取AccessKey
- 查看Secret,得到 AccessKey ID 与 AccessKey Secret(后面会用到)
1.5 打开短信控制台,通过API测试功能
- 打开快速学习页面,点击API发送测试按钮
- 单击绑定测试手机号,在对话框输入接收测试短信的手机号和获取的验证码
- 点击发起调用,将通过该平台直接调用发送接口发送短信
2.Java SDK 示例
2.1 添加maven依赖
- 创建一个maven项目,将下面代码添加到pom.xml文件中
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>dysmsapi20170525</artifactId>
<version>2.0.9</version>
</dependency>
2.2 阿里云官方配置
- 创建一个Sample 类
- 复制官方提供的代码,进行一些修改,如下:
// This file is auto-generated, don't edit it. Thanks.
import com.aliyun.dysmsapi20170525.Client;
import com.aliyun.tea.*;
import com.aliyun.dysmsapi20170525.*;
import com.aliyun.dysmsapi20170525.models.*;
import com.aliyun.teaopenapi.*;
import com.aliyun.teaopenapi.models.*;
public class Sample {
public static void main(String[] args_) throws Exception {
Config config = new Config()
//这里修改为我们上面生成自己的AccessKey ID
.setAccessKeyId("LTAI5tLdwwPpCrJbzMdTdQ7")
//这里修改为我们上面生成自己的AccessKey Secret
.setAccessKeySecret("jnP9no9KhtsE4kVbqbV40JKCksCqy3");
// 访问的域名
config.endpoint = "dysmsapi.aliyuncs.com";
Client client = new Client(config);
SendSmsRequest sendSmsRequest = new SendSmsRequest()
.setSignName("阿里云短信测试")//短信签名
.setTemplateCode("SMS_154950909")//短信模板
.setPhoneNumbers("157xxxxxxxx")//这里填写接受短信的手机号码
.setTemplateParam("{\"code\":\"1234\"}");//验证码
// 复制代码运行请自行打印 API 的返回值
client.sendSms(sendSmsRequest);
}
}
运行此代码,就会收到如下的短信:
【阿里云短信测试】您正在使用阿里云短信测试服务,体验验证码是:1234,如非本人操作,请忽略本短信!