Chuanglan.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. /**
  3. * 手机短信类
  4. */
  5. namespace chuanglan;
  6. use app\common\model\SettingModel;
  7. use think\facade\Log;
  8. class Chuanglan
  9. {
  10. /**
  11. * 创蓝短信
  12. * @param $mobile
  13. * @param $smslog_param
  14. * @return array
  15. */
  16. public function send($mobile, $smslog_param)
  17. {
  18. $config = SettingModel::getConfigValue(['sms_chuanglan_appkey', 'sms_chuanglan_secret']);
  19. if (empty($config['sms_chuanglan_appkey']) || empty($config['sms_chuanglan_secret'])) {
  20. return ['code' => 1, 'msg' => '请绑定模板参数'];
  21. }
  22. $url = 'http://smssh1.253.com/msg/send/json';
  23. //创蓝接口参数
  24. $postArr = [
  25. 'account' => $config['sms_chuanglan_appkey'],
  26. 'password' => $config['sms_chuanglan_secret'],
  27. 'msg' => $smslog_param['message'],
  28. 'phone' => $mobile,
  29. 'report' => 'true',
  30. ];
  31. //发送短信
  32. $postFields = json_encode($postArr);
  33. $ch = curl_init();
  34. curl_setopt($ch, CURLOPT_URL, $url);
  35. curl_setopt($ch, CURLOPT_HTTPHEADER, [
  36. 'Content-Type: application/json; charset=utf-8', //json版本需要填写 Content-Type: application/json;
  37. ]
  38. );
  39. curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); //若果报错 name lookup timed out 报错时添加这一行代码
  40. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  41. curl_setopt($ch, CURLOPT_POST, 1);
  42. curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
  43. curl_setopt($ch, CURLOPT_TIMEOUT, 60);
  44. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
  45. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
  46. $ret = curl_exec($ch);
  47. curl_close($ch);
  48. $rsp = json_decode($ret, true);
  49. if ($rsp['code'] != 0) {
  50. Log::error('短信发送失败:' . json_encode($rsp) . "。原始参数:" . json_encode($postArr));
  51. return ['code' => 1, 'msg' => $rsp['errorMsg']];
  52. } else {
  53. return ['code' => 0];
  54. }
  55. }
  56. }