全站搜索

php短信接口对接

网站开发 392

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;

    }

 

}

上一篇: 下一篇:

相关推荐

  • 网页设计中的极简主义

    429

    这几年,许多设计趋势逐渐成为主流,其中极简风设计最为突出,在设计界占据一席之地,无论是在UI设计、家装设计,建筑、艺术、摄影、音乐甚至食物,极简主义正在被越来越多的领域所接纳,其核心的特征是简约而富有意义。  极简主义起始于二战后的艺术运动,极...

    查看全文
  • 注意:网站建设中的一些“时间段”

    328

    企业在做网站的过程中,不能不关注时间。大致来看,网站建设的全过程可以分为这样几个阶段——需求提交阶段、策划阶段、设计阶段、测试阶段、上值得注意线试运营阶段、正式运行和优化阶段、升级改版阶段。 在整个过程中,很多任务的耗时都是固定的,超时或者时间太短...

    查看全文
  • 如何打造IP企业网站?

    332

    我们发现有这样一类企业官网——官网围绕着一个IP进行策划和建设,抑或是IP在企业官网内容中占据着重要地位和较大比例。例如,格力的官网,董小姐的形象、语录在官网中多次出现;再例如,褚橙的官网,褚时健的形象和语录,也多次出现在官网中。  我们暂且将此类...

    查看全文
  • 用95后的“怪异消费”指导网站设计

    341

    近些年,在消费领域,出现了不少新消费品牌,从新茶饮门店到新服饰品牌,如蜜雪冰城与鸿星尔克,从新旅游到新玩乐,如环球影城与剧本杀、密室,诸如此类。 这些新消费品牌有一个共同点——主力消费者无一不是95后。甚至可以这样说——95后已经成为新消费的主力群体。 &...

    查看全文
展开更多