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

若该文为原创文章,未经允许不得转载
原博主博客地址: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效果截图

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

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

 

短信平台介绍

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

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

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

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

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

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

 

模块代码

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

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";
#endif

Sms::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

原创:https://www.panoramacn.com
源码网提供WordPress源码,帝国CMS源码discuz源码,微信小程序,小说源码,杰奇源码,thinkphp源码,ecshop模板源码,微擎模板源码,dede源码,织梦源码等。

专业搭建小说网站,小说程序,杰奇系列,微信小说系列,app系列小说

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

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。

您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可-> 联系客服 投诉资源
www.panoramacn.com资源全部来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:2640602276@qq.com
未经允许不得转载:书荒源码源码网每日更新网站源码模板! » 项目实战:Qt给指定手机发送短信(点对点、群发等等)
关注我们小说电影免费看
关注我们,获取更多的全网素材资源,有趣有料!
120000+人已关注
分享到:
赞(0) 打赏

评论抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

您的打赏就是我分享的动力!

支付宝扫一扫打赏

微信扫一扫打赏