億美軟通簡訊發送----PHP版本____PHP

來源:互聯網
上載者:User
<?php/** * Created by PhpStorm. * User: kung * Date: 18-1-26 * Time: 上午10:41 */class Ymsms{    private $_sms_addr = 'bjmtn.b2m.cn';    private $_send_uri = '/simpleinter/sendSMS';    private $_send_batch = '/simpleinter/sendPersonalitySMS';    private $_voice_uri = '/voice/sendSMS';    private $_appid    = '****-***-****-*****';    private $_aespwd    = '***********';    private $_template = '您好,您的驗證碼是:%s【***】';    public function __construct()    {        $this->CI =& get_instance();    }    private function http_request($url, $data)    {        $data = http_build_query($data);        $curl = curl_init();        curl_setopt($curl, CURLOPT_URL, $url);        curl_setopt($curl, CURLOPT_POST, TRUE);        curl_setopt($curl, CURLOPT_POSTFIELDS, $data);        curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);        $output = curl_exec($curl);        curl_close($curl);        return $output;    }       private function signmd5($timestamp){        return md5($this->_appid.$this->_aespwd.$timestamp);    }//單條簡訊發送    public function send_sms($mobile,$vars)    {        $result = false;        $content = sprintf($this->_template, $vars);        $timestamp = date("YmdHis");        $sign = $this->signmd5($timestamp);        $data = array(            "appId" => $this->_appid,            "timestamp" => $timestamp,            "sign" => $sign,            "mobiles" => $mobile,            "content" =>  $content,            "customSmsId" => "10001",            "timerTime" => "",            "extendedCode" => "1234"        );        $url = $this->_sms_addr.$this->_send_uri;        $resobj = $this->http_request($url, $data);        $resArr = json_decode($resobj,true);        if($resArr['code'] == "SUCCESS")            $result = true;        return $result;    }//語音簡訊發送    public function voice_sms($mobile,$vars)    {        $result = false;        $content = $vars;        $timestamp = date("YmdHis");        $sign = $this->signmd5($timestamp);        $data = array(            "appId" => $this->_appid,            "timestamp" => $timestamp,            "sign" => $sign,            "mobile" => $mobile,            "content" =>  "$content",            "customSmsId" => "10001",            "timerTime" => "",            "extendedCode" => "123"        );        $url = $this->_sms_addr.$this->_voice_uri;        $resobj = $this->http_request($url, $data);        $resArr = json_decode($resobj,true);        if($resArr['code'] == "SUCCESS")            $result = true;        return $result;    }//批量發送    public function send_batch($batch_data)    {        $result = false;        $timestamp = date("YmdHis");        $sign = $this->signmd5($timestamp);        $data = array(            "appId" => $this->_appid,            "timestamp" => $timestamp,            "sign" => $sign,            "customSmsId" => "10001",            "timerTime" => "",            "extendedCode" => "1234"        );        $msg_count = 0;        foreach($batch_data as $sms){            $data[$sms['mobile']] = $sms['content'];            $msg_per_count = ceil(mb_strlen($sms['content'])/68);            $msg_count = $msg_count + $msg_per_count;        }        $this->log = []; // clear        $this->log['call_method'] = __METHOD__;        $this->log['batch_data'] = $batch_data;        $this->log['batch_count'] = count($batch_data);        $url = $this->_sms_addr.$this->_send_batch;        $resobj = $this->http_request($url, $data);        $this->log['response_body'] = $resobj;        $resArr = json_decode($resobj,true);        if($resArr['code'] == "SUCCESS"){            $result = true;            $this->log['send_status'] = 'success';            $this->log['send_credit'] = count($batch_data);        }        else{            $this->log['send_status'] = 'failure';        }        $this->save_log();        return $msg_count;    }}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.