SmsHelper.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. namespace App\Http\HelperTraits;
  3. use GuzzleHttp\Client as GuzzleHttpClient;
  4. use GuzzleHttp\Exception\RequestException;
  5. trait SmsHelper
  6. {
  7. public function sendSms($msg, $mobile) {
  8. $account = env('SMS_ACCOUNT');
  9. $password = env('SMS_PASSWORD');
  10. $password = strtoupper(md5($password));
  11. $gwid = env('SMS_GWID');
  12. $url = env('SMS_API_URL');
  13. $message = iconv("UTF-8", "GB2312", $msg);
  14. try {
  15. $client = new GuzzleHttpClient();
  16. $data = [
  17. 'action' => 'Send',
  18. 'username' => $account,
  19. 'password' => $password,
  20. 'gwid' => $gwid,
  21. 'mobile' => $mobile,
  22. 'message' => $message,
  23. ];
  24. $apiRequest = $client->post($url, [
  25. 'form_params' => $data,
  26. ]);
  27. $resp = $apiRequest->getBody()->getContents();
  28. $res = iconv("GB2312", "UTF-8", $resp);
  29. $re = json_decode($res, true);
  30. \Log::info("发送短信 到手机:$mobile 内容:$msg RESULT:".$re['RESULT']);
  31. if (trim($re['CODE']) == '1') {
  32. return true;
  33. }
  34. // print_r($resp);
  35. } catch (RequestException $re) {
  36. \Log::info("发送短信错误:".$re->getMessage());
  37. return false;
  38. }
  39. return false;
  40. }
  41. }