项目实战:Qt给指定手机发送短信(点对点、群发等等)

news/2025/1/15 15:23:46/

若该文为原创文章,未经允许不得转载
原博主博客地址:https://blog.csdn.net/qq21497936
原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/80089585
各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究

红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…(点击传送门)

Qt开发专栏:项目实战(点击传送门)

 

需求

        软件控制短信提醒客户验证码等等,如生日提醒、购买提醒、时间限制等等。

 

Demo下载地址

《软件发送短信Demo》:https://download.csdn.net/download/qq21497936/10375157

QQ群:1047134658(点击“文件”搜索“MessageDemo”,群内与博文同步更新)

 

Demo效果截图

 

短信平台介绍

        软件发送短信需要第三方平台支持,步骤如下:

        1.注册指定云平台账户,一般有免费短信条数,笔者使用“云通知”;

        2.按照平台要求申请或使用已存再的短信模板,有些必须要注册签名,如阿里云,腾讯云;

          注意:如果平台返回模板或者签名无效,需要进入平台去使用已经存在的或者自己新申请的模板或者签名

        3.获取对应的接口账户的接口密码,有些有特定的协议要求,qt的话,一般使用http的接口;

        4.发送申请即可,可以从返回码或读取短信发送的接口;

 

模块代码

sms.h

#ifndef SMS_H
#define SMS_H#include <QObject>
#include <QNetworkAccessManager>
#include <QNetworkReply>
#include <QSslError>/************************************************************\* 类名:Sms* 描述:短信发送* 函数:*      singleMessage() - 单发短信,输入号码和发送的验证码* 作者:红模仿    QQ:21497936*       日期         版本       说明*   2018年4月26日   v1.0.0  使用http://sms.sms.cn/平台发送点对点短信
\************************************************************/class Sms : public QObject
{Q_OBJECT
public:explicit Sms(QObject *parent = nullptr);signals:void error(QString msg);public slots:// 单发短信:给用户发短信验证码、短信通知,营销短息(内容长度不超过450字节)void singleMessage(QString number, QString content);protected slots:void finished(QNetworkReply *);void sslErrors(QNetworkReply*,QList<QSslError>);private:QNetworkAccessManager _manager;static QString _sdkAppId;static QString _sdkAppKey;QString _time;QString _random;QString _type;
};#endif // SMS_H

sms.cpp

 

 

#include "sms.h"
#include <QJsonDocument>
#include <QJsonObject>
#include <QNetworkReply>
#include <QDebug>
#include <QUrlQuery>#if 1// 移动短信接口
QString Sms::_sdkAppId = "qq21497936";
QString Sms::_sdkAppKey = "f16095a81858314a3dbe16fdc4ec04d9";
#endifSms::Sms(QObject *parent): QObject(parent),_random("0"),_type("0")
{connect(&_manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(finished(QNetworkReply*)));connect(&_manager, SIGNAL(sslErrors(QNetworkReply*,QList<QSslError>)), this, SLOT(sslErrors(QNetworkReply*,QList<QSslError>)));
}void Sms::singleMessage(QString mobile, QString content)
{// 移动平台  http://sms.sms.cn//**  http://api.sms.cn/sms/?ac=send&uid=qq21497936&pwd=接口密码[获取密码]&template=100006&mobile=填写要发送的手机号&content={"code":"value"}*/QString baseUrl = QString("http://api.sms.cn/sms/");QUrl url;url.setUrl(baseUrl);QUrlQuery urlQuery;urlQuery.addQueryItem("ac", "send");// 笔者平台账户urlQuery.addQueryItem("uid", _sdkAppId);// 笔者平台账户接口密码urlQuery.addQueryItem("pwd", _sdkAppKey);urlQuery.addQueryItem("template", "100006");urlQuery.addQueryItem("mobile", mobile);urlQuery.addQueryItem("content", QString("{\"code\":\"%1\"}").arg(content));url.setQuery(urlQuery);_manager.get(QNetworkRequest(url));
}void Sms::finished(QNetworkReply *reply)
{QByteArray data = reply->readAll();qDebug() << __FILE__ << __LINE__ << data;
#if 1// 移动短信收到的json可以判断是否发送成功,Demo未做这块"{\"stat\":\"100\",\"message\":\"\xB7\xA2\xCB\xCD\xB3\xC9\xB9\xA6\"}"
#endif
}void Sms::sslErrors(QNetworkReply *reply, QList<QSslError> list)
{qDebug() << __FILE__ << __LINE__ << list;
}


原博主博客地址:https://blog.csdn.net/qq21497936
原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/80089585


http://www.ppmy.cn/news/512323.html

相关文章

python邮件定时发送短信_python实现自动定时给女朋友发手机短信,每天一个笑话!...

加小编QQ群&#xff1a;832339352 即可自动获取大量Python视频教程以及各类PDF&#xff01; 大四的生活就是这么无聊&#xff0c;我琢磨着也学了这么多东西了&#xff0c;为啥不能用自己的知识来给生活找点乐子呢&#xff1f;我想反正每天都要给Ta问候一声早安&#xff0c;为何…

腾讯手机号码获取验证码功能

腾讯短信平台申请ID https://cloud.tencent.com/document/product/382 Maven导入包&#xff1a; <dependency><groupId>com.github.qcloudsms</groupId><artifactId>qcloudsms</artifactId><version>1.0.5</version></dependenc…

微信申请流程

微信申请流程 申请所需相关资料&#xff1a; o 可以收发邮件的电子邮箱 o 医院事业单位法人证书&#xff08;原件的拍照件&#xff09; o 医院组织机构代码证&#xff08;原件的拍照件&#xff0c;或复印件加盖医院公章后的拍照件&#xff09; o 医院法人身份证&#xff0…

安卓开发系列 之如何获取手机短信内容

1 手机中短信数据库相关字段包括&#xff1a; _id&#xff1a;短信序号&#xff0c;如100    address&#xff1a;发件人地址&#xff0c;即手机号&#xff0c;如8613811810000&#xff0c;这里需要注意的是手机号是否加86&#xff0c;可以加上86和不加86分别测试下   pers…

Spring Boot入门教程(三十九):微信支付集成-申请服务号和微信支付

分享一个朋友的人工智能教程。比较通俗易懂,风趣幽默,感兴趣的朋友可以去看看。 一:简介 I: 只有服务号才具备微信支付功能 订阅号即使是认证的,也没有微信支付的申请的权限,登陆微信公众平台,在左侧列表没有申请微信支付这一搜索栏目。订阅号的主要功能是作为自媒体,发…

C#简单实现发送手机短信

编写一个从电脑向手机发送短信的程序&#xff0c;从网上查找到有三种方式&#xff1a; (1)使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,但是需要进行注册;(2)使用短信mao的方式进行短信的发送,这种方式应该是比较的常用,前提是需要购买硬件设备…

引入短信服务发送手机验证码进行安全校验

其他方案>引入QQ邮箱发送验证码进行安全校验 相对短信验证码&#xff0c;操作更简单而且免费 最近想给自己的项目在注册时加点安全校验&#xff0c;准备使用免费的邮箱验证来着&#xff0c;在上一篇引入QQ邮箱进行安全校验时&#xff0c;看有朋友说阿里云会送一些短信服务免…

微信小程序 获取 手机验证码 短信验证码 后端功能实现解析

本文原创首发CSDN&#xff0c;链接 https://mp.csdn.net/console/editor/html/106041472 &#xff0c;作者博客https://blog.csdn.net/qq_41464123 &#xff0c;转载请带上本段内容&#xff0c;尤其是脚本之家、码神岛等平台&#xff0c;谢谢配合。 目录 前言 第一步&#x…