阿里云通信最终java版

Java版阿里云通信短信发送API接口实例 阿里云通信(原名阿里大于)的短信服务(Short Message Service)是阿里云为用户提供的一种通信服务的能力,支持快速发送短信验证码、短信通知等。 完美支撑双11期间2亿用户,发送6亿短信。三网合一专属通道,与工信部携号转网平台实时互联。电信级运维保障,实时监控自动切换,到达率高达99%。 具体阿里大于是什么时候改版到阿里云通信的,不是太清楚,反正以前的短信发送验证码、短信通知的... 阅读详情

1.maven中添加依赖

		<dependency>
  		  <groupId>com.aliyun</groupId>
  		  <artifactId>aliyun-java-sdk-core</artifactId>
		  <optional>true</optional>
  		  <version>3.2.5</version>
  	   </dependency>
  	   
  	   <dependency>
  		  <groupId>com.aliyun</groupId>
  		  <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
		  <optional>true</optional>
  		  <version>1.0.0</version>
  	   </dependency>
2.编写工具类

package cc.messcat.gjfeng.util;




import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;


import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.profile.IClientProfile;


import cc.messcat.gjfeng.common.constant.CommonProperties;
import net.sf.json.JSONObject;


import java.util.Map;


public class SMSUtil{
    public static boolean sendMessage(String mobile, Map<String, String> content, String templateCode) {
        if (mobile.length() == 0 || mobile == null) {
            return false;
        }
        try {
            //设置超时时间-可自行调整
            System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
            System.setProperty("sun.net.client.defaultReadTimeout", "10000");
            //初始化ascClient需要的几个参数
            final String product = "Dysmsapi";//短信API产品名称(短信产品名固定,无需修改)
            final String domain = "dysmsapi.aliyuncs.com";//短信API产品域名(接口地址固定,无需修改)
            //替换成你的AK
            final String accessKeyId = "你的accessKeyId";
            final String accessKeySecret = "你的accessKeySecret";
         
            //初始化ascClient,暂时不支持多region(请勿修改)
            IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId,accessKeySecret);
            DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
            IAcsClient acsClient = new DefaultAcsClient(profile);
            //组装请求对象
            SendSmsRequest request = new SendSmsRequest();
            //使用post提交
            request.setMethod(MethodType.POST);
            //必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式
            request.setPhoneNumbers(mobile);
            //必填:短信签名-可在短信控制台中找到
            request.setSignName(signName);
            //必填:短信模板-可在短信控制台中找到
            request.setTemplateCode(templateCode);
            //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为
            //友情提示:如果JSON中需要带换行符,请参照标准的JSON协议对换行符的要求,比如短信内容中包含\r\n的情况在JSON中需要表示成\\r\\n,否则会导致JSON在服务端解析失败
            request.setTemplateParam(JSONObject.fromObject(content).toString());
            //请求失败这里会抛ClientException异常
            SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
            if(sendSmsResponse.getCode() != null && sendSmsResponse.getCode().equals("OK")) {
                return true;
            }
        
        
        } catch (Exception e) {
            throw new RuntimeException("短信发送失败");
        }


        return false;
    }
    
   /* public static void main(String[] args) {
    	
    	Map<String,String> contents = new HashMap<String,String>();
        contents.put( "variable0", "123456" );
    	boolean result = sendMessage("111111111",contents,CommonProperties.MNS_TEMPLATE_CODE);
    	System.out.println(JSONObject.fromObject(contents).toString());
    	System.out.println(result);
    }*/
}
3.在项目运行的时候报下面的异常:

Java.lang.NoClassDefFoundError:com/aliyuncs/exceptions/ClientException

主要是找不到com.aliyuncs下面相关的类,经过我一番百度,解决的方案是

将 这两个jar包添加到tomcat下的lib包中

4.问题解决

5.在使用的过程中对一个号码发送多次短信,工具类返回的结果false,页面显示为验证码不正确,经过一番dubug和换号码的过程中发现,造成这种问题的主要原因每个号码所能接受短信的条数有限


HttpClient&阿里云通信接口 HttpClient&amp;阿里云通信接口 HttpClient:java模拟浏览器发起http请求的工具包 HttpClient 提供的主要的功能 (1)实现了所有 HTTP 的方法(GET,POST,PUT,DELETE 等) (2)支持自动转向 (3)支持 HTTPS 协议 (4)支持代理服务器等 jsoup +httpclient java爬虫 httpClient发送请求步骤 基于ge... 阅读详情

相关推荐

Java短信工具类实现:SmsUtil.zip使用与阿里云通信

随着移动互联网的普及,短信服务作为一种重要的通信手段,在各行各业中扮演着不可或缺的角色。阿里云通信短信服务是阿里巴巴旗下云服务的重要组成部分,它为开发者提供了稳定、高效、便捷的短信发送服务,广泛应用于账号验证、系统通知、营销推广等场景。本章节将带领读者了解阿里云通信短信服务的核心特点和优势,帮助IT从业者快速掌握如何在自己的应用场景中利用这一服务。我们会从以下几个方面深入探讨:阿里云通信短信服务的业务场景及使用价值。短信服务的基本功能和使用流程。

weixin_28787801的博客 1117

springboot+阿里云短信 找不到本地包 解决

随手记录一下刚碰到的问题 在springboot环境下,本人要用到阿里云的服务,发发短信,提醒提醒。 我写一个main方法,运行,完美通过,我做成接口,调用时候,马上挂了,看日志,呵呵了org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang

Tate的博客 2250

UVM自学笔记3——项目之三——从零开始搭建ahb_sramc验证平台

创建如下所示的目录结构: 2.在tb的文件下:顶层的testbench如下:在tb中,第24行的代码将uvm宏相关的内容include进来,第26行的代码把uvm_pkg包导入进来,然后将agent相关的包(ahb_pkg/sram_pkg),testcase相关的包(uvm_ahb_sram_test_pkg)以及env相关的包(uvm_ahb_sram_env_pkg)都导入进来,在第38行和39行将接口以virtual interface的形式配置给ahb_agent和sramc_agent下

ZhangShuHuai11的博客 9477

springcloud 集成 阿里云短信 抛出异常NoClassDefFoundError

转自 https://www.jianshu.com/p/1dd36e494a88最近在springCloud 项目里使用 阿里云短信,pom导入相关jar包后,访问 抛出异常 NoClassDefFoundError com.iyuncs.profile.IClientProfile ,后改为 本地引用阿里云jar包,但是在pom打包,运行项目,依然抛出异常 NoClassDefFoundErr...

banqgg的博客 1015

scratch lenet(4): 开根号的C语言实现

使用C语言,分别使用二分法、牛顿法、卡马克快速法,求解正实数的开根号。包括公式推导、代码实现、运行结果,不使用任何第三方库和C标准库的数学库。

baiyu33的博客 4969

Word毕业论文排版:图片和表格题注的终极指南(含自动编号技巧)

本文是Word毕业论文排版中图片和表格题注的终极指南,详细讲解了如何利用题注功能实现自动编号,告别繁琐易错的手动操作。核心内容包括创建定制标签、配置带章节的编号格式、插入交叉引用以及一键更新全文编号的技巧,旨在帮助学生构建自动化文档体系,提升排版效率和论文严谨性。

weixin_29211309的博客 1095

jar直接引入maven项目,Caused by: java.lang.ClassNotFoundException: com.aliyuncs.profile.IClientProfile

描述:现在需要接入阿里云的sms短信服务接口里边有个jar暂时先添加到maven项目中,不进行库推送其中报错Caused by: java.lang.ClassNotFoundException: com.aliyuncs.profile.IClientProfile解决方法:选择好java jar 后,然后进行添加,即可,问题解决...

当富网络 8575

python blp模型 估计_随机系数Logit模型及Stata实现

欢迎投稿(荐稿)计量经济圈,计量相关都行邮箱:econometrics666@sina.cn作者:北京交通大学经济管理学院博士生,王琦珀。欢迎你加入计量经济圈社群,一起探讨前沿计量理论和实证方法。一、随机系数Logit模型1.背景实证产业组织(Empirical Industrial Organization,EIO)是目前产业组织理论的前沿,其中又以Ariel Pakes为带头人,其近期工作论文...

weixin_42298927的博客 2641

java.lang.NoClassDefFoundError: com/aliyun/oss/common/auth/CredentialsProvid

hadoop 读oss 依赖jar包异常

u012534143的博客 777

真格量化-bs套利

#!/usr/bin/env python # coding:utf-8 from PoboAPI import * import datetime import time import numpy as np from copy import * #开始时间,用于初始化一些参数 def OnStart(context) : context.myacc = None #登录交易账号 if context.accounts["回测期权"].Login() : co.

qq_26742269的博客 1321

手把手教你学Simulink——基于Simulink的蚁群算法路径规划仿真建模示例

路径规划是机器人导航系统中的核心任务之一,旨在为机器人找到一条安全且高效的路径,使其能够从起点到达目标点,同时避免与障碍物发生碰撞。在开始之前,需要定义工作环境(例如地图),包括起点、终点以及可能存在的障碍物位置。通过本指南,我们介绍了如何基于Simulink结合MATLAB实现蚁群算法的路径规划仿真建模。

MHD0815的博客 222

问题记录:怎么解决java.lang.NoClassDefFoundError错误

问题记录:怎么解决java.lang.NoClassDefFoundError错误

樂小伍 1万+

1篇1章3节:R 语言的产生与发展轨迹(更新2024/08/14)

药物的研究阶段包括靶标确定、生物学模型建立、新化学实体的发现和优化新化学实体四个关键环节。每个环节都在药物研发过程中发挥着至关重要的作用。通过科学严谨的方法和技术手段,研究人员能够在药物研发过程中不断探索和优化,从而发现和开发出具有高效、安全性的候选药物,为疾病治疗提供更多的选择和希望。

MD Code 2665

阿里云接口实现短信发送java版

阿里云接口实现短信发送java版1. 前期准备1.1.开通阿里云短信服务1.2.申请签名管理和模板管理1.3.获取Access_key和Access_secret2.代码部分2.1.在pom文件中添加相关依赖2.2.发送短信类2.3.发送成功3.提供生成6位验证码的工具3.1.pom文件3.2.工具类3.3.controller实现类(根据自己的需求进行修改) 1. 前期准备 1.1.开通阿里云短信服务 1.2.申请签名管理和模板管理 1.3.获取Access_key和Access_secret 鼠标

qq_42990567的博客 1万+

网络攻防——kali操作系统基本使用

主要介绍如何搭建kali虚拟机,然后介绍了一个简单的攻击方法,切记,网络恶意攻击属于违法行为

weixin_46560512的博客 2万+

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Java版阿里云通信短信发送API接口实例(新)

阿里云通信(原名阿里大于)的短信服务(Short Message Service)是阿里云为用户提供的一种通信服务的能力,支持快速发送短信验证码、短信通知等。

沉默王二 3万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

[笔记]阿里云物联网之业务服务端(java、php)接入阿里云平台

最近在做已接入阿里云平台的设备,通过阿里云物联网平台 经过中间件(消息服务/阿里云产品等)再流转到其他企业服务器的东西。 阿里云账号:这个得自己创建了 阿里云物联网平台 阿里云物联网平台公共实例阿里云帮助手册 【阿里云生活物联网架构师专题 ⑧】基于在 SpringBoot Java私有云上接收阿里云物联网设备的各种状态数据,实现m2m流转https://help.aliyun.com/document_detail/146382.html 由于我是做后端数据的 比较关心如何接入阿里云平台,发现有以下几种方式

二次元怪兽的博客 4437

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

阿里云通信(阿里大于)

阿里云通信简介 阿里云通信(原名–阿里大于)是阿里云旗下产品,融合了三大运营商的通信能力,通过将传统通信业务和能力与互联网相结合,创新融合阿里巴巴生态内容,全力为中小企业和开发者提供优质服务阿里大于提供包括短信、语音、流量直充、私密专线、店铺手机号等个性化服务。通过阿里大于打通三大运营商通信能力,全面融合阿里巴巴生态,以开放 API 及 SDK 的方式向开发者提供通信和数据服务,更好地支撑企业业务...

1363

stm32 app 连上阿里云

stm32 app 连上阿里云 阿里云篇 1.首先得先注册账号,注册账号后选择物联网平台 2.点击公共实例 3.创建产品产品(我以智能窗户为例) 4添加设备 我们需要添三个设备 app pc stm32(由于我以前产品有 为避免重复 我改成software stm32 computer) 我以stm32为例 5.回到产品定义既可以发布又能订阅的topic,这个topic如同单向路一样,可以允许不同的车通过,但是反向却不能反向。我们要用app给32收发消息,所以我们要建立两个topic(data1 和

weixin_45642495的博客 9750

阿里云通信

<!--阿里云短信需要导入的jar包start--> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>4.0.6</version&gt...

Zhang_1994_bf的博客 446

JAVA:使用阿里云短信接口实现短信验证码的发送(详解)

一、上代码之前的准备工作 1、需要注册一个阿里云账号,进入阿里云 阿里云首页: https://www.aliyun.com/ 2、进入短信服务 3、获取Access_key和Access_secret 获取Access_key和Access_secret之后要好好保存 4、申请签名与模板 申请短信签名和模板需要几个小时,有的很快,稍微等待一下。 二、开始上代码 我是在maven项目...

╱/.独﹄無㈡oоΟ的博客 6417

java 阿里云接口实现发送短信验证码

1.先去阿里云开通短信服务: 2.添加模板及签名:需要审核,个人账户审核就几分钟就OK 先解释一下模板及签名: 标准参照:https://help.aliyun.com/document_detail/55324.html?spm=5176.sms-sign.0.0.765c1cbeNhvWBZ 去申请模板及签名: 3.创建自己的访问秘钥(AccessKeyId 与 AccessKe...

withawind的博客 2万+

使用 Java 调用阿里云短信服务

使用 Java 调用阿里云短信服务使用 Java 调用阿里云短信服务登录阿里云申请短信服务申请签名和模板申请AccessKey获得阿里云账户的操控权限测试短信发送使用Java调用阿里云短信服务验证码随机生成测试Main方法 使用 Java 调用阿里云短信服务 短信验证码想必大家都不陌生,在很多网站,APP中都有使用到。比如登录,注册,身份校验等场景。不过通常情况下,短信服务都是外包给第三方公司的,接下来向大家分享如何使用阿里的短信服务。 登录阿里云申请短信服务 首先我们登陆阿里云官网,搜索短信服务,注册并开

weixin_44930692的博客 2319

调用阿里云通信短信验证码服务

#调用阿里云通信短信服务 ##一 注册阿里云账号 1.注册阿里云账号,进入阿里云通信服务,申请短信签名,短信模板,用户AccessKey,充值。 ##二 引入相关依赖 <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId&...

weixin_44970278的博客 364
上一篇: 通过什么可以让SQL语句更加快速的获得结果
下一篇: 一位资深程序员大牛给予Java初学者的学习建议
shi-Yjanuary
博客等级 码龄10年 4粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值