全站搜索

php短信接口对接

网站开发 326

1.国外短信这里介绍:短信宝

用的是thinkphp 框架

在TP模块下的目录新建Service文件夹,在里面新建service服务类用于短信宝发送短信。

更多详情可参考官网:

namespace Home\Service;

 

class SmsbaoService {

    function __construct() {

        $config = array(

            ‘user’ => D(‘Config’)->get(‘msg_user’),

            ‘pass’ => D(‘Config’)->get(‘msg_pass’),

            ‘smsapi’ => ‘接口地址’,

        );

        $statusCode = array(

            “0” => “短信发送成功”,

            “-1” => “参数不全”,

            “-2” => “服务器空间不支持,请确认支持curl或者fsocket,联系您的空间商解决或者更换空间!”,

            “30” => “密码错误”,

            “40” => “账号不存在”,

            “41” => “余额不足”,

            “42” => “帐户已过期”,

            “43” => “IP地址限制”,

            “50” => “内容含有敏感词”

        );

        $this->config = $config;

        $this->statusCode = $statusCode;

    }

 

    /**

     * 发送验证码

     * @param $phone

     * @param $code 验证码

     * @return mixed

     */

    public function sendMsg($phone, $code) {

        $config = $this->config;

        $statusCode = $this->statusCode;

        $autograph = D(‘Config’)->get(‘msg_autograph’);

        $content = D(‘Config’)->get(‘msg_content’);

        $content = ‘【’ . $autograph . ‘】’ . str_replace(‘{code}’, $code, $content);

        $sendurl = $config[‘smsapi’] . “sms?u=” . $config[‘user’] . “&p=” . md5($config[‘pass’]) . “&m=” . $phone . “&c=” . urlencode($content);

        $status = file_get_contents($sendurl);

        $reData[‘status’] = $status;

        $reData[‘info’] = $statusCode[$status];

        return $reData;

    }

 

}

 

 

数据库中要建配置参数:

msg_user(短信宝用户名)

msg_pass(短信宝密码)

msg_autograph(短信宝签名)

msg_content(短信内容,必须包含验证码替换符{code})

 

2.国外的介绍QcloudSMS腾讯短信

 

可以发送国内短信的接口有很多,之前也有整理比较好用的。当有用户需要发送国际短信时,比较常用就是阿里和腾讯的了。下面是腾讯短信简单发送对接TP的Service

下面以国际短信为例

1、在腾讯短信控制台申请“海外文本短信”,只需要申请短信模板即可,海外短信不需要申请签名,国内短信必须申请签名。

2、下载官方的phpSDK,在TP使用时需要小改一下命名空间,文章下有提供可下载。放到TP的Vendor/Qcloudsms文件夹中。

3、在要使用的模块下新建QcloudsmsService.class.php,代码如下:

namespace Home\Service;

 

class QcloudsmsService {

    function __construct() {

        $config = array(

            ‘appid’ => ‘14054******’,//控制台查看

            ‘appkey’ => ‘6fe55********************’,//控制台查看

            ‘templId’ => ‘295555**’,

            ‘nationCode’ => ‘852555’, //国家或地区区号,香港852,大陆86

        );

        $this->config = $config;

    }

 

    /**

     * 发送验证码

     * @param $phone

     * @param $code 验证码

     * @return mixed

     */

    public function sendMsg($phone, $code) {

        vendor(‘Qcloudsms.SmsSender’);

        $config = $this->config;

        $singleSender = new \SmsSingleSender($config[‘appid’], $config[‘appkey’]);

        // 普通单发

        $result = $singleSender->send(0, $config[‘nationCode’], $phone, “您好,您的验证码为” . $code, “”, “”);

        //返回的成功示例:{“result”:0,”errmsg”:”OK”,”ext”:””,”sid”:”2:670479-0268698729-028972-001510040916″,”fee”:1}

        //result为0表示发送成功

        $rsp = json_decode($result, true);

        return $rsp;

    }

 

}

上一篇: 下一篇:

相关推荐

  • 网站开发公司怎么选?要从哪些方面考虑?

    277

    选择网站开发公司重要吗?在这里,方维网络郑重的告诉您,很重要,因为网站制作不止是一次性的工作,还有后续的维护,以及二次升级改版。方维网络经常接到客户问,我的网站在其他公司做的,问是否可以在你们那里维护?答案是否定的,因为每个公司开发方式不一样,质...

    查看全文
  • 企业产品的网站售后体系搭建

    247

    企业产品在销售后经常会出现售后问题,一般分为几种售后类型 1、对于产品性能、功能不了解想要做进一步的咨询,达到熟知的程度; 2、技术性问题需要销售方技术人员介入来辅助解决问题; 3、产品质量问题需要退换维修处理。良好的售后服务能够极大的增强消费者对于...

    查看全文
  • 浅谈悦欧科技网站改版的见解

    385

      随着互联网的不断普及和技术提升,现在的人们 从 互联网 上 了解 公司 基本信息最直接的方式莫过于企业官方网站了,然而现在的人们随着审美的提高和 公司 的发展定位,很多企业的网站想把网站设计的更符合现代的潮流和企业的形象,企业的官方网站就需要进行不...

    查看全文
  • 「如何seo优化推广」SEO优化肯定需要经常关注网页百度快照

    268

      优化推广就是我们通常讲的,快照排名,那么一个网站的网页快照我们是需要每天关注的,因为的它的更新速度取决于这个网站的蜘蛛爬行速度,所以我们需要了解这样的情况!      然而,最近在一些与SEO优化有关的论坛上,我们经常看到一些关于网页快照...

    查看全文
展开更多