700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > springboot 手机发送阿里云短信验证码

springboot 手机发送阿里云短信验证码

时间:2018-05-12 12:22:07

相关推荐

springboot 手机发送阿里云短信验证码

1.请先pom引入阿里云依赖

<dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-core</artifactId><version>4.5.16</version></dependency><dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-dysmsapi</artifactId><version>2.1.0</version></dependency>

2.新建sendEmail 此为发送阿里云短信核心代码 其他所需要发送短信时调用此 service里面

sendEmail方法传入 对方手机号码及code 6位随机数最好 发送完成后别忘了将随机数存入redis

package com.keyan.system.modules.system.conf;import com.aliyuncs.DefaultAcsClient;import com.aliyuncs.IAcsClient;import com.aliyuncs.dysmsapi.model.v0525.SendSmsRequest;import com.aliyuncs.dysmsapi.model.v0525.SendSmsResponse;import com.aliyuncs.exceptions.ClientException;import com.aliyuncs.profile.DefaultProfile;import lombok.RequiredArgsConstructor;import org.springframework.stereotype.Service;@Service@RequiredArgsConstructorpublic class SendSms {/*** 阿里云短信发送*/public boolean sendEmail(String phoneNumbers, String code) {DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "阿里云控制台获取", "阿里云控制台获取");IAcsClient client = new DefaultAcsClient(profile);SendSmsRequest request = new SendSmsRequest();// 设置短信接收号码,即短信发送目标手机号码。需要注意的是,阿里云短信服务只支持中国境内的手机号码。request.setPhoneNumbers(phoneNumbers);// 设置短信签名,即短信发送方名称。需要在阿里云控制台申请短信签名并通过审核后才能使用。request.setSignName("");// 设置短信模板编号,即短信模板 ID。需要在阿里云控制台申请短信模板并通过审核后才能使用。request.setTemplateCode("");// 设置短信模板参数,以 JSON 格式的字符串表示。短信模板中需要动态替换的变量可以在此处进行设置request.setTemplateParam("{\"code\": \"" + code + "\"}");try {SendSmsResponse response = client.getAcsResponse(request);}catch (ClientException e) {}return true;}}

3.需要发送验证码的地方引入 SendSms 方法内 先生成6位随机数,调用发送短信方法传入手机号及验证码,此次可以在增加判断如果返回fales返回什么什么,我没有写。。。。。。有一丢丢懒了,后面存入redis 留着注册时验证,短信验证码。

@Resourceprivate final SendSms sendSmson;

4.验证短信验证码 上面存入redis的时候key是目标手机号 取出的时候也是通过手机号去取,然后判断,最后删除redis存入的此条数据。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。