前言

该文章转发自“Web项目聚集地”(点击蓝色字体即可跳转),作者:王久一。内容有所删改!

正文

我们日常使用的软件或者网站,大部分都在使用短信业务,比如 注册验证码功能 。还有一些特定的业务需要发送短信通知用户等。有了需求就会有平台提供服务,国内有很多互联网公司都提供短信业务,比如阿里、腾讯、七牛。国外有Twillo公司同样可以提供服务,也有相应的额度。本篇文章提及的是腾讯提供的短信服务。

实现发送短信功能非常简单,只需要在服务提供平台进行注册以及简单的配置。创建签名和模板,采用官方提供的SDK,调用接口即可。

腾讯提供每个月100的免费额度,用来测试足够了。

  1. 腾讯短信服务
    访问腾讯短信服务的页面。进行简单的注册。
  2. 创建应用
    首先第一步要 添加一个应用,这个应用你可以理解为一种方便管理自己的短信配置的模块,通过应用的名字就可以得知:这个应用对应的是自己的哪个项目,至于起什么名字并无大碍。比如我命名为:在线打印。
  3. 点击刚刚创建的应用名称,进入应用配置。在这个页面,你需要注意下方图片圈出来的两个参数,分别是:SDK AppIDApp Key。后面代码的参数会用到这两个参数。
  4. 点击 [国内短信],在这里可以看到自己发送短信的情况。包括发送成功的次数、失败的次数等等。当然现在的任务是进行配置模板。
  5. 点击 [短信内容配置],在这里我们需要配置短信签名和短信正文。什么是短信签名呢?拿我们收到过的短信来说:“[阿里巴巴] 您的验证码为:56659,请妥善保管好,切勿告知他人”。这条短信中,“阿里巴巴”就是短信签名。
  6. 点击 创建短信签名,这里可以选择签名的类型。是用于公司还是APP、网站。根据自己的情况来就可以,但是如果选择[网站]签名类型的话,需要提供备案的截屏,如果没备案的可以去操作一下。如果选择[公司]需要提供营业执照截屏。
    对于没有备案的网站和营业执照的朋友,可以使用阿里云的短信服务,不过对于没有营业执照的情况,阿里提供的短信服务只能申请验证码的功能,像一些通知用户取货、通知取货码等等通知功能是没办法申请的。
    阿里短信服务网址:account.aliyun.com/login/login.html
    下面链接是阿里云短信服务的博文,流程差不多:blog.csdn.net/qq_38225558/article/details/84954935 .

    点击[确认]后,只需要等待官方人物对域名进行审核。
  7. 创建 [短信正文],短信正文就是短信签名后面具体的短信内容了,比如:“您的文件打印完毕,请在{1}前凭取件码{2},至{3}取件,若有问题请联系店主{4}。”其中用括号括起来的数字是一个变量,这个需要根据我们具体的业务逻辑来动态填充。后面代码就会明白!比如下面是我创建的两个短信正文。
  8. 等待审核通过,刚刚创建短信签名和短信正文成功,状态会是:审核中。如果不是违法或者格式不正确,一般半小时就能审核成功,如果审核通过,可以记录下短信签名的名称以及短信正文的ID。
  9. 点击 [快速入门],阅读短信业务的API文档,如果不想读的可以直接看下面的代码。
  10. 我们 选择Java SDK文档 进行查阅。
  11. 编写代码之引入依赖
    使用Maven搭建项目,管理Jar包,需要在pom.xml中添加如下依赖:
<dependency><groupId>com.github.qcloudsms</groupId><artifactId>qcloudsms</artifactId><version>1.0.6</version>
</dependency>
  1. 编写代码之准备必要参数
    如下所示,这些参数都是上方我们提到的,根据自己的情况进行填写即可。
// 短信应用 SDK AppID
// 1400开头
int appid = 140009099;// 短信应用 SDK AppKey
String appkey = "9ff91d87c2cd7cd0ea762f141975d1df37481d48700d0ac37470aefc60f9bad";// 需要发送短信的手机号码
String[] phoneNumbers = ["21212313123", "12345678902", "12345678903"];// 短信模板ID,需要在短信应用中申请
// NOTE: 这里的模板ID'7839'只是一个示例,真实的模板ID需要在短信控制台中申请
// templateId7839对应的内容是:"您的验证码是:{1}"
int templateId = 7839; // 签名
// NOTE: 签名参数使用的是:签名内容,而不是签名ID。这里的签名"腾讯云"只是一个示例,真实的签名需要在短信控制台申请。
String smsSign = "腾讯云";
  1. 编写代码之指定模板ID单发短信
    比如我们置顶的短信模板为:您的文件打印完毕,请在{1}前凭取件码{2},至{3}取件,若有问题请联系店主{4}。注意下方的params。
public static void sendSms(){try{// 数组具体的元素个数和模板中变量个数必须一致,例如示例中templateId:5678对应一个变量,参数数组元素个数也必须是一个String[] params = {"20:10", "521-521", "南苑店面,南苑住宿区", "1785417xxxx"}; SmsSingleSender ssender = new SmsSingleSender(appid, appkey);// 签名参数未提供或者为空时,会使用默认签名发送短信SmsSingleSenderResult result = ssender.sendWithParam("86", phoneNumbers[0],templateId, params, smsSign, "", "");  System.out.println(result);}catch(HTTPException e){// HTTP响应码错误e.printStackTrace();}catch(JSONException e){// json解析错误e.printStackTrace();}catch(IOException e){// 网络IO错误e.printStackTrace();}
}
  1. 测试运行sendSms函数:

总结

上面就是比较实用的短信发送实战,如果发送失败,可以根据接口返回的result的错误代码查阅官方文档。如果按照我的步骤一步一步来应该不会出错。

通过Java编程实现发送短信功能(转发)相关推荐

  1. Java后端集成发送短信功能(用的是阿里云的短信服务)

    首先说明,我的操作步骤主要以截图为主,基本上是每一步都有截图,所以难免显有些啰嗦,不喜勿喷.喜欢看文字的可以访问 https://help.aliyun.com/document_detail/552 ...

  2. java 阿里云 发送短信功能实现

    1. 注册短信平台(以阿里云为例) 常用短信服务平台:阿里云.华为云.腾讯云.京东.梦网.乐信等 2. 注册成功后,开通短信服务 3. 设置短信签名.短信模板.AccessKey AccessKey ...

  3. 实现 Java 发送短信功能

    前言 前几日,有粉丝后台私信我如何实现发送短信的功能,刚好久一刚刚用到了这个功能,就把具体的实现过程记录下来,分享给大家. 我们日常使用的软件或者网站,大部分都在使用短信业务,比如注册.验证码功能.还 ...

  4. 7 分钟实现 Java 发送短信功能!

    阅读文本大概需要 7 分钟. 前言 前几日,有粉丝后台私信我如何实现发送短信的功能,刚好久一刚刚用到了这个功能,就把具体的实现过程记录下来,分享给大家. 我们日常使用的软件或者网站,大部分都在使用短信 ...

  5. 【短信发送】实现腾讯云发送短信功能--工具类和SpringBoot配置两种方法实现

    实现腾讯云发送短信功能--工具类和SpringBoot配置两种方法实现 一.开通腾讯云短信服务 二.工具类--使用qcloudsms实现短信发送 三.Spring Boot项目引入短信发送功能 我们发 ...

  6. springboot集成阿里云短信服务,实现发送短信功能

    springboot集成阿里云短信服务,实现发送短信功能 准备工作: 1.登陆阿里云->进入控制台->开通短信服务(进入后根据提示开通) 2.充值(借人家平台发短信你以为不要钱的?我充了3 ...

  7. Java调用SMSLib发送短信具体解释

          项目中须要用到发送短信功能.之前没做过这方面.找人咨询了一下.也网上查了查.发现并非非常复杂. 眼下项目已经完毕了.做个记录以备后用.程序中发送短信主要有4种方法:      1.向当地的 ...

  8. Java调用SMSLib发送短信详解

    项目中需要用到发送短信功能,之前没做过这方面,找人咨询了一下,也网上查了查,发现并不是很复杂.目前项目已经完成了,做个记录以备后用.程序中发送短信主要有4种方法:      1.向当地的运营商申请网关 ...

  9. TP5调用阿里云短信接口实现发送短信功能

    TP5调用阿里云短信接口实现发送短信功能 工作需要,对接阿里云的短信服务,借此记录一下(网站 www.lelee.top) 主要分为两个部分,一是下载官方的Demo事例,这个不需要多说,自己去下载就行 ...

  10. php可以发短信的代码,PHP代码函数实现PHP发送短信功能

    //PHP代码函数实现PHP发送短信功能 //本代码基于开心洋葱 运行 //代码来源:开心洋葱 //PHP发送短信开心洋葱专用(PHP代码函数) //本代码基于开心洋葱 运行 //代码来源:开心洋葱 ...

最新文章

  1. C++11中std::lock_guard的使用
  2. 爆火的深度学习面试书现可白嫖!GitHub上线2周1.5K Star,之前售价146元
  3. 多协议标签交换中的标签指的是什么?—Vecloud微云
  4. 实例:三层交换机VLAN间路由配置命令
  5. 视频直播中 | 5G到底有多快?现场测速,带你走进5G生活
  6. python 银行工作_Python:银行系统实战(一)
  7. Mysql索引的类型和优缺点
  8. 【算法分析与设计】二分查找平均查找长度的求解
  9. Windows Server 2008 配置使用动态IP和备用地址
  10. openstack之创建虚拟机
  11. VRAR应该是工具,而不是“玩具”
  12. python遇到异常跳过_教你使用Python遇到的异常的处理方式!
  13. 集群环境下的文件上传和下载和文件服务器的配置
  14. java导出建表语句_由 Java Entity 类自动生成 SQL建表语句
  15. c语言求成绩标准差,C语言中求和、计算平均值、方差和标准差的实例
  16. SSD网络接口介绍(包含完整代码)
  17. 18.集合框架(Map集合,HashMap和Hashtable的区别,Collections(集合工具类),集合练习,模拟斗地主(洗牌,发牌,看牌))
  18. 检查计算机的更新红叉,快速解决win10更新后没有声音小喇叭有个红叉解决教程...
  19. 中国医科大学22春《毛泽东思想和中国特色社会主义理论体系概论(本科)》在线作业【标准答案】
  20. 数据库 、数据仓库、数据集市的区别与联系

热门文章

  1. 参考文献标准格式总结
  2. java分布式-一致性
  3. KafKa - 集群模式搭建
  4. python多行注释报错_解决python多行注释引发缩进错误的问题
  5. UART协议快速扫盲(图文并茂+超详细)
  6. 基恩士plc-EtherCAT三十一轴,控制案例程序(包含plc程序/人机界面/BOM表)
  7. java中级工程师所需的技能_java中级工程师岗位职责
  8. Java整合科大讯飞SDK实现语音转文字
  9. 软考分类精讲-软件管理
  10. DNS协议及Bind应用