首页 > 其他分享 >阿里云短信服务

阿里云短信服务

时间:2023-08-19 21:22:59浏览次数:52  
标签:code 服务 String boot request param 阿里 短信

1、阿里云短息服务注册

阿里云官网:https://www.aliyun.com/

①进入短信服务

②免费开通

 

③选择国内消息–>签名管理–>添加签名

 

签名内容

 

④添加模版

⑤安全设置、发送频率设置

⑥账户充值

 

⑦AccessKey管理

 

 

2、Java代码引入

①导入依赖包

 <dependencies>
 	 <!--原版 SDK - 阿里云Java SDK核心库-->
    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-core</artifactId>
        <version>4.5.16</version>
    </dependency>

    <!--阿里 FastJSON,json格式转换-->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.39</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
        <optional>true</optional>
    </dependency>

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

③测试工具类

/**
 * 短信发送工具类
 */
public class SMSUtils {

	/**
	 * 发送短信
	 * @param signName 签名
	 * @param templateCode 模板
	 * @param phoneNumbers 手机号
	 * @param param 参数
	 */
	public static void sendMessage(String signName, String templateCode,String phoneNumbers,String param){
		DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "LTAI5tMfFL3veTQthSxpBWKd", "l38UcRzcPrXDlHEg0HhqUBH7HZSdc8");
		IAcsClient client = new DefaultAcsClient(profile);
		SendSmsRequest request = new SendSmsRequest();
		request.setSysRegionId("cn-hangzhou");
		request.setPhoneNumbers(phoneNumbers);
		request.setSignName(signName);
		request.setTemplateCode(templateCode);
		request.setTemplateParam("{\"code\":\""+param+"\"}");
		try {
			SendSmsResponse response = client.getAcsResponse(request);
			System.out.println("短信发送成功");
		}catch (ClientException e) {
			e.printStackTrace();
		}
	}

}

④测试

@PostMapping("/sendMsg")
    public R<String> sendMsg(@RequestBody User user, HttpSession session){
        //获取手机号
        String phone=user.getPhone();
        if(StringUtils.isNotEmpty(phone)){
            //生成随机的6位验证码
            String code= ValidateCodeUtils.generateValidateCode(6).toString();
            log.info("code={}",code);
            //调用阿里云提供的短信服务API完成发送短信
            SMSUtils.sendMessage("好食餐饮","SMS_462585304",phone,code);
            //需要将生成的验证码保存到Session
            session.setAttribute(phone,code);
            return  R.success("手机验证码短信发送成功");
        }
        return  R.error("短信发送失败");
    }

 

标签:code,服务,String,boot,request,param,阿里,短信
From: https://www.cnblogs.com/xdqx/p/17643124.html

相关文章

  • 云服务器下如何部署Flask项目详细操作步骤
    参考网上各种方案,再结合之前学过的Django部署方案,最后确定Flask总体部署是基于:centos7+nginx+uwsgi+python3+Flask之上做的。本地windows开发测试好了我的OCR项目,现在要部署我的OCR项目到云服务器上验证下。第一步:打包上传Flask项目代码到服务器指定目录下如图: 第二步:安装......
  • PaddleOCR学习笔记3-通用识别服务
    今天优化了下之前的初步识别服务的python代码和html代码。采用flask+paddleocr+bootstrap快速搭建OCR识别服务。代码结构如下: 模板页面代码文件如下:upload.html:<!DOCTYPEhtml><html><metacharset="utf-8"><head><title>PandaCodeOCR</title><!-......
  • 记一次对老服务改造
    关于现有老服务使用的技术.net4.6.1+Nancy+Dapper,数据库是需要支持老版本MsSql+新版本MySql、MsSql、DM,项目解决方案单层结构。看到这样的项目内心是...,好了再看内部实现,完全不想说话。if(connectionString.Contains("xx")){//对应数据实现业务}elseif(c......
  • CHAPTER 7 Linux Operating System Services linux 系统服务
     /usr/include/asm-generic/unistd.h  /usr/include/errno.h/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h  ......
  • 【逍遥西游中变】Linux手工服务端+安卓苹果双端
    5月整理大话回合手游【逍遥西游中变】Linux手工服务端+充值后台+安卓苹果双端压缩包内有详细的视频搭建教程,亲测有效,点击下面链接  提取码:8co9......
  • 文件服务器迁移
    说明:文件服务器迁移共享文件,从172.21.44.X文件服务器迁移另外一台服务器操作:1、在新文件服务器以管理身份运行CMD输入以下命令robocopy\\172.21.44.xx\e$\spcdataD:\spcdata/e/j/copyall/mt:12/mot:10/mon:1 /mir命令说明:/e 复制子目录/j 复制时使用未缓冲......
  • 配置snmptrap服务器写入日志并通过邮件报警
    配置snmptrap服务器写入日志并通过邮件报警安装相关软件包yuminstallnet-snmpnet-snmp-utilsmailx修改snmptrapd配置文件/etc/snmp/snmptrapd.confdisableAuthorizationyesauthCommunitylog,execute,netpublictraphandledefault/usr/local/bin/traplog.sh......
  • 【故障公告】多年的故障老朋友又来了:数据库服务器 CPU 100%
    数据库服务器CPU100%问题几乎每年都要来几次,从来都不事先打一声招呼,今年的第2次在我们正忙着会员救园的时候来了。今天13:35首先收到我们自己的异常告警通知:ExecutionTimeoutExpired.Thetimeoutperiodelapsedpriortocompletionoftheoperationortheserver......
  • nodejs轻量服务器后端
    nodejs轻量服务器后端搭建思路server.js主函数+mine.js配置文件+index.html测试网页server.js文件varPORT=8080;//端口varDIR='test1';//用于存放html的目录varhttp=require('http');varurl=require('url');varfs=require('fs');var......
  • 服务器架设
    opencv安装pipinstallopencv-python依赖安装#libglvnd-1:1.3.2-1.tl3.x86_64#libglvnd-glx-1:1.3.2-1.tl3.x86_64#libxshmfence-1.3-2.tl3.x86_64#mesa-libGL-20.3.3-2.tl3.x86_64#mesa-libglapi-20.3.3-2.tl3.x86_64yuminstalllibGLstep1.准备环境re......