使用xml发送国际短信(smspro)【吉尔吉斯斯坦】

//使用xml格式发送国外短信验证码【吉尔吉斯斯坦】官网:https://smspro.nikita.kg/

php 复制代码
public function api_test($data,$user){

        $url = "http://smspro.nikita.kg/api/message";
        $code = '123456' ;
        $content = 'Your verification code 123456, this verification code is valid within 30 minutes, do not leak to others!' ;
        $result = post_content($url, '7066***88',$content,$code);
//        error_log(date('Y-m-d H:i:s').' 【$result】'.json_encode($result,320).' '.PHP_EOL,3,'../runtime/sms.log');
    }

if (!function_exists('post_content')) {
    /**
     * Отправка POST-запроса.
     */
    function post_content($url, $phone,$content,$code)
    {
        /**
         * Логин для доступа к платформе smspro.nikita.kg.
         * */
        $login = 't****express';//此处替换为自己的账号
        /**
         * Пароль для доступа к платформе smspro.nikita.kg.
         * */
        $password = 'cf4069****************db1064';//此处替换为自己的密码
        /**
         * Уникальный идентификатор транзакции. Для каждой отправки он должен быть уникальным.
         * Используя этот ID можно получить отчет о доставке сообщения.
         * */
        $transactionId = date('YmdHis').rand(10000,99999);
        /**
         * Имя отправителя - должно быть согласовано с администратором smspro.nikita.kg
         * */
        $sender = 'T****.kg';//替换为自己的sender
        /**
         * Текст СМС-сообщения - текст на русском или латинице любой длины (до 800 знаков).
         * В случае необходимости платформа smspro.nikita.kg автоматически разделит текст на несколько сообщений.
         * */
        $text = $content;
        /**
         * Номер телефона получателя СМС в формате 996ххххххххх.
         * В одной транзакции отправки может быть указано и более 1го телефона.
         * */
        $mobile = $phone ;
        $phone = '996'.$mobile;
        $xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>".
            "<message>".
            "<login>$login</login>".
            "<pwd>$password</pwd>".
            "<id>$transactionId</id>".
            "<sender>$sender</sender>".
            "<text>$text</text>".
            "<phones>".
            "<phone>$phone</phone>".
            "</phones>".
            "</message>";



        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_ENCODING, "");
        curl_setopt($ch, CURLOPT_TIMEOUT, 120);
        /** Поддержка keep-alive. */
        /**
         * curl_setopt($ch, CURLOPT_TCP_KEEPALIVE, 1);
         * curl_setopt($ch, CURLOPT_TCP_KEEPIDLE, 120);
         * curl_setopt($ch, CURLOPT_TCP_KEEPINTVL, 60);
         */
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);

        $content = curl_exec($ch);
        $err = curl_errno($ch);
        $errmsg = curl_error($ch);
        $header = curl_getinfo($ch);
        curl_close($ch);

        $header['errno'] = $err;
        $header['errmsg'] = $errmsg;
        $header['content'] = $content;

        $logSmsModel = new LogSms();
        $logSmsModel->add_sms($code, $mobile, 0, $text, 'xml', 30);
        return $header;
    }
}
相关推荐
fangzhanpeng16814 小时前
快速掌握C#语言基础知识点(1.基础数据类型)
开发语言·c#·1024程序员节
无己心3 天前
面向多平台 AI 搜索引擎的适配层架构设计
前端·人工智能·搜索引擎·ai·1024程序员节
u0103055279 天前
AI驱动的安卓UI自动生成功能实现
人工智能·1024程序员节
u0103055279 天前
长株潭智能体赋能腾讯元器链接共享
1024程序员节
云贝贝贝10 天前
OceanBase认证体系介绍与备考指南
运维·服务器·oceanbase·1024程序员节
u01030552711 天前
Java图像处理实战指南
人工智能·1024程序员节
u01030552711 天前
Java AWT鼠标事件全解析
人工智能·1024程序员节
u01030552714 天前
Java实用类应用精讲
人工智能·1024程序员节
u01030552714 天前
Java I/O核心操作实战
人工智能·1024程序员节
u01030552715 天前
ArrayList操作详解与实战应用
人工智能·1024程序员节