随着科技的发展手机短信验证码随处可见,用户注册,修改密码,更改个人信息时候都用得到短信验证码确认。下面教大家如何使用Java来发送手机短信验证码。
首先,申请一个阿里云账户(申请账户略),找到短信服务如下图
点击管理控制台,新建签名
根据提示完成签名的添加,添加完成后新建短信模板

签名和短信模板添加完成后,等待审核,大概5分钟的样子吧,利用等待审核的时间准备一下程序所需要的jar包
为了方便,我为大家准备好了 链接:https://pan.baidu.com/s/1iHNE-AXReuT5cqxk3rNlJw 密码:gfqg
发送短信前还需要获取自己的Access Key 和 Access Key Secret

先点击创建Access key

接下来直接上代码:
https://help.aliyun.com/document_detail/55284.html?spm=5176.10629532.106.1.307a1cbeZNGUyi
希望本篇文章可以帮助到您!
首先,申请一个阿里云账户(申请账户略),找到短信服务如下图



签名和短信模板添加完成后,等待审核,大概5分钟的样子吧,利用等待审核的时间准备一下程序所需要的jar包
为了方便,我为大家准备好了 链接:https://pan.baidu.com/s/1iHNE-AXReuT5cqxk3rNlJw 密码:gfqg
发送短信前还需要获取自己的Access Key 和 Access Key Secret

先点击创建Access key

接下来直接上代码:
public class SendCode {
public static SendSmsResponse sendSms(String phoneNumber,String code) throws ClientException {
System.setProperty("sun.net.client.defaultConnectTimeout", "10000");//不必修改
System.setProperty("sun.net.client.defaultReadTimeout", "10000");//不必修改
IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", "填写自己的 AccessKey ID", "填写自己的 Secret");//填写自己的AccessKey ID和Secret
DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", "Dysmsapi", "dysmsapi.aliyuncs.com");//不必修改
IAcsClient acsClient = new DefaultAcsClient(profile);//不必修改
SendSmsRequest request = new SendSmsRequest();//不必修改
request.setPhoneNumbers(phoneNumber);//手机号码
request.setSignName("已申请的短信签名 ");//此处填写已申请的短信签名
request.setTemplateCode("短信模版CODE");//此处填写获得的短信模版CODE
request.setTemplateParam("{\"code\":\""+code+"\"}");//因为我起的变量名为${code}, 因此此处对应填写验证码
SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);//不必修改
return sendSmsResponse;
}
public static void main(String[] args) throws ClientException, InterruptedException {
SendSmsResponse response = sendSms("手机号","111111");
if(response.getCode() != null && response.getCode().equals("OK")) {
//请求成功
System.out.println("ok");
}else{
//未成功的错误信息
System.out.println(response.getMessage());
}
}
}
关于错误信息和一些参数设置可以参考阿里云文档https://help.aliyun.com/document_detail/55284.html?spm=5176.10629532.106.1.307a1cbeZNGUyi
希望本篇文章可以帮助到您!