Java发送短信验证码

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

根据提示完成签名的添加,添加完成后新建短信模板


签名和短信模板添加完成后,等待审核,大概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

希望本篇文章可以帮助到您!

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭