当前位置: 首页 > news >正文

Delphi 一个函数实现腾讯云最新版(API3.0)短信发送

目录

一、腾讯云短信基本知识

    1. 需要在腾讯云后台注册账号

    2. 需要在腾讯云中开通短信功能

    3. 腾讯云短信版本说明

    4. 短信内容的组成

特定规范

二、短信发送函数

三、下载源代码(收费)


一、腾讯云短信基本知识

        如今我们随时都收到短信验证码,注册码等等。这是程序通过腾讯云后台发送,并不是通过手机直接发送,可以实现程序根据条件自动发送。

 

腾讯云短信后台发送需要具备如下条件:

    1. 需要在腾讯云后台注册账号

注册地址:登录 - 腾讯云

    2. 需要在腾讯云中开通短信功能

腾讯云短信支持公司,也支持个人,如果是公司账号,可以使用更多的关于短信的API,如果是个人账号,有一些限制,比如不能通过API增加签名等。

开通短信功能后,如果使用腾讯云SDK,则不在本文讨论范围,本文讨论的是直接使用腾讯云提供的API发送短信。那么开通了短信功能之后,还有一个非常重要的事情要做,就是设置访问密钥,只有设置了访问密钥,后续函数调用才能成功,因为函数调用时需要访问密钥的。设置成功后会有两个参数: SecretId 和 SecretKey。

 

    3. 腾讯云短信版本说明

腾讯云短信随着时间的发展,已经产生了很多版本,目前最新的版本是 API 3.0 (2021-01-11),这个版本的前一个版本是2019-07-11,当前这两个版本都支持,随着时间的推移,老版本会停止维护。官方最新短信版本说明

    4. 短信内容的组成

根据规定,短信必须有短信签名,一般就是接收到短信的中文方括号中间的内容。例如上面的【神州海纳】,另外短信必须通过模板发送,也就是说短信的主体内容是固定,审批后是不能变动的,但是里边的参数可以替换。

国内短信由签名+正文组成,签名符号为【】(注:全角),发送短信时,必须选择签名+正文模板;

创建签名时,必须选择签名类型:

签名类型签名内容要求及申请说明
公司公司全称或简称-
AppApp 名称或简称申请说明:需填写任一应用商店的展示页链接。
网站网站名称或简称申请说明:需填写已备案的网站域名。
公众号或小程序微信公众号名称或小程序名称要求:公众号或小程序必须已上线且能在微信上搜索到。
申请说明:需填写公众号或小程序的全称。
商标商标名称或简称-
政府/机关事业单位/其他机构政府/机关事业单位/其他机构的名称或简称-
  • 签名内容不能含有黄赌毒、宗教和党政等信息。
  • 签名必须能辨别所属公司或个人,不支持中性化签名。
  • 国内短信签名由【】和签名内容组成,格式为【签名内容】。签名内容要求长度为2 - 12个字,由中英文、数字组成,内容不包含【】。 建议国内短信签名内容尽量使用中文。
  • 国际/港澳台短信签名由[]和签名内容组成,格式为[签名内容]。签名内容要求2 - 15个字,内容不包含[]。

短信正文模板可以包含变量,用户可通过变量实现自定义短信内容。

类别规范
格式固定格式:{数字},如{1}。同一模板中,如果存在多个变量,须从1开始连续编号,如{1}{2}等。
长度
  • 验证码短信,模板变量的实际内容仅支持0 - 6位(包括6位)纯数字。
  • 非验证码短信,个人认证用户,每个变量限制为1~12个字符;企业认证用户没有变量字符限制。
其他规范
  • 不支持全变量模板。
  • 模板中的两个变量不能相邻,前后需加文字说明,以体现模板使用者的意图,不支持组合变量或变量相邻,例如{1}{2}。正确示例:{1}为您的登录验证码,请于{2}分钟内填写,如非本人操作,请忽略本短信。
  • 变量内不支持传入链接(包含短链接),即不允许将变量的取值设置为链接(包含短链接)
  • 不允许设置变量链接(包含短链接),例如www.{1}.com

特定规范

除公共规范外,不同短信类型的正文模板还有相应的特定规范,详情如下表所示。

短信类型内容规范
普通短信(验证码短信)
  • 国内验证码短信必须含有关键词验证码,国际/港澳台验证码短信必须含有关键词 code
  • 验证码短信模板变量的实际内容仅支持0 - 6位(包括6位)纯数字。
  • 除公共规范外,另禁止发送营销推广类的内容和链接,包括运营商内部业务宣传信息等。
普通短信(通知类短信)除公共规范外,另禁止发送营销推广类的内容和链接,包括运营商内部业务宣传信息等。
营销短信
  • 正文模板末尾必须携带退订方式,支持回复“TD”、“T”或“N”进行短信退订。
  • 除公共规范外,另禁止发送教育、房产、金融和贷款四大类营销短信。
  • 除公共规范外,另禁止给非会员用户发送营销短信。
  • 发送会员节日或生日关怀、促销活动通知内容需按营销短信提交。
  • 营销短信发送时间为每日8:00 - 22:00,尽量避免夜间发送,减少用户投诉。

例如如下短信模板:

{1}为您的注册(登录)验证码,请于{2}分钟内填写。如非本人操作,请忽略本短信。

二、短信发送函数

如果有了短信签名和短信模板,就可以通过下面的函数发送短信了。

usesuSMS_TX_Component_source;varSecretId, SecretKey,SDKAppId, PhoneNumber,SignName,TemplateID,TemplateParam,SessionContext,ErrorMsg : string;
begin//以下是单函数发送短信代码,参数是模拟参数,不能按照下面的参数发送,需要根据实际参数调整。SecretId := 'AKIDRirHm5XnocCYfZEi2sX1IL';SecretKey := '9A0MNDrLFixVi6D4g';SDKAppId := '1400445579';PhoneNumber := '+86133429xxxxx';SignName := '神州海纳';TemplateID := '766907';TemplateParam := '["2345","5"]';SessionContext := 'ABC123';if Send_SMS(SecretId, SecretKey,SDKAppId, PhoneNumber,SignName,TemplateID,TemplateParam,SessionContext,ErrorMsg) thenShowMessage('发送完成')elseShowMessage(ErrorMsg) ;
end;

参数说明:

1. 引用单元:uSMS_TX_Component_source.pas;

2. SecretId 和 SecretKey 就是后台申请的访问密钥

3. SDKAppId 是在腾讯云后台创建的应用ID。应用列表 - 应用管理 - 短信 - 控制台 (tencent.com)

4. PhoneNumber 接收短信的电话号码,包括国家号 +86

5. SifnName 短信签名,是需要在腾讯后台申请好的,不能随便写

6. TemplateID 表示的是模板ID,模板的样式为:

{1}为您的注册(登录)验证码,请于{2}分钟内填写。如非本人操作,请忽略本短信。

7.  TemplateParam 表示的是模板的参数数组,将会用数组中的“2345”替代模板中的 {1},数组中的“5”替代模板中的{2}

8. SessionContext 表示的是后台回调时原封不动返回的值。

最终发送的短信为:

三、下载源代码(收费)

源代码包括有演示程序,演示程序是在D11.2平台上4K分辨率下开发的,可能演示程序在低分比率下显示界面会乱,但是发送短信的uSMS_TX_Component_source.pas单元是没有任何问题的,实际使用只需要引用这一个单元即可。

源代码经过压缩,解压密码为:abitsoft.com

源代码目录结构:

 获取到源代码后,先看 说明.txt

源代码下载(¥49.9)

相关文章:

Delphi 一个函数实现腾讯云最新版(API3.0)短信发送

目录 一、腾讯云短信基本知识 1. 需要在腾讯云后台注册账号 2. 需要在腾讯云中开通短信功能 3. 腾讯云短信版本说明 4. 短信内容的组成 特定规范 二、短信发送函数 三、下载源代码(收费) 一、腾讯云短信基本知识 如今我们随时都收到短信验证码,注册码等等。这是…...

2023年Android现代开发

2023年现代Android开发 下面与大家分享如何构建具有2023年最新趋势的Android应用程序。 Android是什么? Android 是一种基于 Linux 内核并由 Google 开发的开源操作系统。它用于各种设备,包括智能手机、平板电脑、电视和智能手表。 目前&#xff0c…...

自然语言处理(NLP)在医疗领域的应用

自然语言处理(Natural Language Processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。在各个领域都有其应用。 其在生物医学领域迅速发展,已经…...

计算机中的浮点数运算

计算机中的浮点数 计算机中以固定长度存储浮点数的方式&#xff0c;造成了浮点数运算过程容易产生上溢和下溢。以float32为例, 其标记位占1bit,指数位占8bit,小数部分占23bit 经典下溢场景 不满足精度导致截断误差 #include <iostream> #include <iomanip> usin…...

看了字节跳动月薪20K+测试岗面试题,让我这个工作3年的测试工程师,冷汗直流....

朋友入职已经两周了&#xff0c;整体工作环境还是非常满意的&#xff01;所以这次特意抽空给我写出了这份面试题&#xff0c;而我把它分享给伙伴们&#xff0c;面试&入职的经验&#xff01; 大概是在2月中的时候他告诉我投递了字节跳动并且简历已通过&#xff0c;2月23经过…...

这两天最好的ChatGPT应用;使用Notion AI提升效率的经验(13);AI编程与程序员的生存 | ShowMeAI日报

&#x1f440;日报合辑 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; &#x1f916; 硅谷银行风波中&#xff0c;OpenAI 创始人大方帮助硅谷初创公司&#xff1a;钱先拿着用&#xff0c;有了再还 OpenAI 创始人 Sam Altman 的弟弟…...

Linux 内核likely与unlikey

内核源码的时候经常可以看到likely()和unlikely()函数&#xff0c;这两个函数的作用是什么&#xff1f;-- 先得学一学GCC提供的内建函数&#xff01;&#xff01; likely和unlikely内核中的定义 # define likely(x) __builtin_expect(!!(x), 1) # define unlikely(x) __built…...

成功解决主从同步异常之Slave_IO_Running显示为No的问题

前言 MySQL主从同步在做的过程中很容易出问题, 尤其是双主配置,参数多,需要在两台服务器中反复操作,容易搞错导致失败,这里汇总的是主从同步异常之Slave_IO_Running显示为No的解决方案。 文章目录 前言一. 问题重现二. 排查过程2.1 查看UUID是否相同,并修改2.2 修改完UU…...

面试阿里测开岗失败后,被面试官在朋友圈吐槽了......

前一阵子有个徒弟向我诉苦&#xff0c;说自己在参加某大厂测试面试的时候被面试官怼得哑口无言&#xff0c;场面让他一度十分尴尬印象最深的就是下面几个问题&#xff1a;根据你以前的工作经验和学习到的测试技术&#xff0c;说说你对质量保证的理解&#xff1f;非关系型数据库…...

蓝桥杯嵌入式--字符串比较在串口通信中的应用

前言今天做了个模拟题&#xff0c;大致意思是接收上位机发的字符串&#xff0c;然后执行相应操作。思路很明确&#xff0c;就是把接收到的内容进行比较&#xff0c;但是从前我只学过比较数字的方式&#xff0c;即直接用“”进行比较&#xff0c;但是字符串不能使用这个方法&…...

考研408每周一题(2019 41)

2019年(单链表&#xff09; 41.(13分)设线性表L(a1,a2,a3,...,a(n-2),a(n-1),an)采用带头结点的单链表保存&#xff0c;链表中的结点定义如下&#xff1a; typedef struct node {int data;struct node *next; } NODE; 请设计一个空间复杂度为O(1)且时间上尽可能高效的算法&…...

Angular学习笔记(一)

以下内容基于Angular 文档中文版的学习 目录 使用Angular CLI 工具创建项目 HTML标签中{{}}插入值,[]绑定属性,()绑定事件,[(ngModel)]双向绑定 绑定属性 类和样式绑定 事件绑定 双向绑定 循环 IF 定义输入属性 定义输出事件 特殊符号 模板引用变量 页面跳转(路由…...

Linux用户和权限 —— 操作演示

Linux用户和权限——操作演示认知root用户用户、用户组管理查看权限控制修改权限控制- chmod修改权限控制- chownLinux系列&#xff1a; Linux基本命令 —— 操作演示 认知root用户 root用户(超级管理员) 无论是Windows、MacOS、Linux均采用多用户的管理模式进行权限管理。…...

【华为OD机试真题2023 JAVA】单核CPU任务调度

华为OD机试真题,2023年度机试题库全覆盖,刷题指南点这里 单核CPU任务调度 知识点队列优先级队列 时间限制:1s 空间限制:256MB 限定语言:不限 题目描述: 现在有一个CPU和一些任务需要处理,已提前获知每个任务的任务ID、优先级、所需执行时间和到达时间。 CPU同时只…...

News乐鑫科技亮相德国嵌入式展 Embedded World 2023!

3 月 14 日&#xff0c;德国纽伦堡嵌入式展 Embedded World 2023 火热启幕。本届 Embedded World 主题为 “embedded. responsible. sustainable”&#xff0c;乐鑫科技 (688018.SH) 携众多 AIoT 科技成果亮相展会&#xff0c;致力于打造更智能、更互联、更绿色的物联网未来。…...

java如何创建线程

java如何创建线程1. java如何创建线程1.1 通过继承Thread类来创建线程1.2 通过实现Runnable接口来创建线程1.3 通过匿名内部类来创建线程1.4 lambda表达式1.5 通过实现Runnable接口的方式创建线程目标类的优缺点1. java如何创建线程 一个线程在Java中使用一个Thread实例来描述…...

要是早看到这篇文章,你起码少走3年弯路,20年老程序员的忠告

文章目录前言一、程序员的薪资是怎么样的&#xff1f;二、我现在的情况适合做程序员吗&#xff1f;三、大学期间到底应该学些什么&#xff1f;四、工作还是考研&#xff1f;五、总结前言 我是龙叔&#xff0c;一名工作了20多年的退休老程序员。 如果你在工作之前看到这篇文章…...

IP地址的分类

1. 前言 最初设计互联网络时&#xff0c;为了便于寻址以及层次化构造网络&#xff0c;每个IP地址包括两个标识码&#xff08;ID&#xff09;&#xff0c;即网络ID和主机ID。 同一个物理网络上的所有主机都使用同一个网络ID&#xff0c;网络上的一个主机&#xff08;包括网络上工…...

win10下使用docker运行部署nginx,mysql

一、docker的步骤&#xff1a;1.进入docker官网下载安装包2.打开控制面板 - 程序和功能 - 启用或关闭Windows功能&#xff0c;勾选Hyper-V&#xff0c;然后点击确定即可&#xff0c;如图&#xff1a;3.重新启动电脑4.启动Docker在桌面找到Docker for Windows快捷方式&#xff0…...

sprinboot车辆充电桩

sprinboot车辆充电桩演示录像2022开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;ecli…...

仿京东放大镜效果的实现

仿京东放大镜 &#xff08;1&#xff09; 整个案例可以分为三个功能模块 &#xff08;2&#xff09; 鼠标经过小图片盒子&#xff0c; 黄色的遮挡层 和 大图片盒子显示&#xff0c;离开隐藏2个盒子功能 &#xff08;3&#xff09;黄色的遮挡层跟随鼠标功能。 &#xff08;4&…...

ESP32设备驱动-LM35温度传感器驱动

LM35温度传感器驱动 文章目录 LM35温度传感器驱动1、LM35介绍2、硬件准备3、软件准备4、驱动实现1、LM35介绍 LM35 系列是精密集成电路温度传感器,其输出电压与摄氏(摄氏度)温度成线性比例。 因此,LM35 优于以开尔文校准的线性温度传感器,因为用户无需从其输出中减去较大…...

基于深度学习的犬种识别软件(YOLOv5清新界面版,Python代码)

摘要&#xff1a;基于深度学习的犬种识别软件用于识别常见多个犬品种&#xff0c;基于YOLOv5算法检测犬种&#xff0c;并通过界面显示记录和管理&#xff0c;智能辅助人们辨别犬种。本文详细介绍博主自主开发的犬种检测系统&#xff0c;在介绍算法原理的同时&#xff0c;给出Py…...

【IDEA插件开发】环境搭建

基础信息 GRADLE 7.5.1 IDEA IntelliJ IDEA 2020.1.1 (Ultimate Edition) Build #IU-201.7223.91, built on April 30, 2020 Licensed to https://zhile.io You have a perpetual fallback license for this version Subscription is active until July 8, 2089 Runtime ve…...

【蓝桥杯专题】 DP(C++ | 洛谷 | acwing | 蓝桥)

菜狗现在才开始备战蓝桥杯QAQ 文章目录【蓝桥杯专题】 DP&#xff08;C | 洛谷 | acwing | 蓝桥&#xff09;AcWing 1205. 买不到的数目Acwing 1216. 饮料换购【模拟】01背包271. 杨老师的照相排列最长公共上升子序列PPPPPPPP总结【蓝桥杯专题】 DP&#xff08;C | 洛谷 | acwi…...

咪咕MGV3201_ZG_GK国科6323_UWE5621DS_免拆卡刷固件包

咪咕MGV3201_ZG_GK国科6323_UWE5621DS_免拆卡刷固件包 特点&#xff1a; 1、适用于对应型号的电视盒子刷机&#xff1b; 2、开放原厂固件屏蔽的市场安装和u盘安装apk&#xff1b; 3、修改dns&#xff0c;三网通用&#xff1b; 4、大量精简内置的没用的软件&#xff0c;运行…...

重构数据-Change Value to Reference将实值对象改为引用对象三

重构数据-Change Value to Reference将实值对象改为引用对象三 1.将实值对象改为引用对象 1.1.实值对象和引用对象区别 下面通过客户Customer和订单Order两个对象介绍下它们的区别 值对象&#xff1a;当一个客户Customer下了多个订单Order后&#xff0c;每个订单类都将创建一…...

计算机网络——通信专业面试问题学习笔记

文章目录1、计算机网络这门课学了什么&#xff1f;目录里有多少章&#xff1f;2、Internet的概念与发展史3、什么是交换&#xff1f;三种交换方式4、OSI的七层协议, TCP/IP的四层协议, 五层协议5、WAN 、LAN 、MAN、PAN这些能分的清楚吗&#xff1f;全称分别都是什么&#xff1…...

代码随想录算法训练营第三十天 | 332.重新安排行程 51. N皇后 37. 解数独 总结

打卡第30天&#xff0c;回溯算法第二刷。 今日任务 332.重新安排行程51.N皇后37.解数独总结 332.重新安排行程 给你一份航线列表 tickets &#xff0c;其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。 所有这些机票都属于一个从…...

Windows权限提升—MySQL数据库提权

Windows权限提升—MySQL数据库提权1. 前言2. 数据库提权介绍2.1. 常见数据库端口2.2. MySQL数据库提权条件2.3. MySQL数据库提权类型3. MySQL中UDF提权3.1. UDF提权介绍3.2. UDF提权思路3.3. UDF提权步骤3.3.1. 获取外连数据库3.3.1.1. 外连数据库3.3.1.2. 连接数据库3.3.1.3. …...