使用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;
    }
}
相关推荐
张萌杰1 天前
深度学习的基础知识(常见名词解释)
人工智能·深度学习·机器学习·1024程序员节
开开心心就好2 天前
免费无广告卸载工具,轻便安全适配全用户
linux·运维·服务器·网络·安全·启发式算法·1024程序员节
开开心心就好3 天前
图片格式转换工具,右键菜单一键转换简化
linux·运维·服务器·python·django·pdf·1024程序员节
徐子童5 天前
网络协议---TCP协议
网络·网络协议·tcp/ip·面试题·1024程序员节
扫地的小何尚7 天前
NVIDIA RTX PC开源AI工具升级:加速LLM和扩散模型的性能革命
人工智能·python·算法·开源·nvidia·1024程序员节
数据皮皮侠AI8 天前
上市公司股票名称相似度(1990-2025)
大数据·人工智能·笔记·区块链·能源·1024程序员节
开开心心就好8 天前
系统清理工具清理缓存日志,启动卸载管理
linux·运维·服务器·神经网络·cnn·pdf·1024程序员节
Evan东少11 天前
[踩坑]笔记本Ubuntu20.04+NvidiaRTX5060驱动+cuda+Pytorch+ROS/Python实现人脸追踪(环境准备)
1024程序员节
不爱编程的小陈12 天前
C/C++每日面试题
面试·职场和发展·1024程序员节
开开心心就好12 天前
右键菜单管理工具,添加程序自定义名称位置
linux·运维·服务器·ci/cd·docker·pdf·1024程序员节