//使用xml格式发送国外短信验证码【吉尔吉斯斯坦】官网:https://smspro.nikita.kg/
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;
}
}