Java发送短信验证码

本文介绍如何使用Java通过阿里云服务发送手机短信验证码,包括配置阿里云账户、短信签名及模板,以及所需jar包的下载链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        随着科技的发展手机短信验证码随处可见,用户注册,修改密码,更改个人信息时候都用得到短信验证码确认。下面教大家如何使用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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值