Java发送短信验证码

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

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

java线程池的使用-发送短信验证码

package com.wei.service.sms.impl; import java.util.Date; import java.util.HashMap; import java.util...
  • User_xiangpeng
  • User_xiangpeng
  • 2016-03-02 21:49:03
  • 1916

Java实现发送短信验证码功能

最近用学习了一下调用第三方接口发送短信验证码的程序,希望能够帮助到大家。 1.首先下图为项目的目录结构,需要带入三个包: commons-httpclient-3.1.jar commons...
  • qq_38625947
  • qq_38625947
  • 2018-01-16 13:49:54
  • 1735

java发送短信验证码功能

  • 2015年04月17日 19:44
  • 283KB
  • 下载

java后台调用短信接口,实现发送短信验证码的控制层实现

1.设计:用户填写手机号,点击获取验证码按钮,controller层获得所要发送验证码的手机号,随机生成六位数的验证码。调用发送短信接口url向此手机号发送验证码。注意:下面的代码采用的是云信使的短信...
  • wangpei555
  • wangpei555
  • 2017-01-15 11:17:09
  • 3445

Java使用网易云信发送短信验证码

一.注册登录1.1 网易云信网址https://netease.im/sms1.2 点击如何使用,进行注册,邮箱使用自己的,因为需要激活账号,公司名称可以随便写。1.3 进入你的邮箱激活登录后,创建应...
  • malimingwq
  • malimingwq
  • 2018-02-24 11:49:06
  • 135

阿里云发送短信验证码功能

  • 2017年11月15日 13:29
  • 5KB
  • 下载

java实现SMS短信平台发送验证码功能

package com.tianxi.util; import org.apache.commons.httpclient.Header; import org.apache.commons.htt...
  • m0_37983376
  • m0_37983376
  • 2017-07-18 15:53:38
  • 1007

js+servlet 实现发送短信验证码,并开始倒计时,进行验证

说是js发送验证码,其实真正实现发送短信功能的还是在服务器,js不过是触发发送功能。 大致流程如下: 1、客户端js通过发送http请求(发短信接口)到服务器,将手机号等信息传递给服务器 2、服务器...
  • zhengshuoa
  • zhengshuoa
  • 2016-08-17 13:55:15
  • 4538

java向手机号发送短信验证码

需要下载这三个jar包   commons-logging-1.1.1.jar commons-httpclient-3.1.jar commons-codec-1.4.jar...
  • dfBeautifulLive
  • dfBeautifulLive
  • 2017-06-30 09:36:26
  • 618

java发送手机短信验证码

  • 2017年09月22日 09:38
  • 1.91MB
  • 下载
收藏助手
不良信息举报
您举报文章:Java发送短信验证码
举报原因:
原因补充:

(最多只允许输入30个字)