Dysms.php 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <?php
  2. use Aliyun\Core\Config;
  3. use Aliyun\Core\Profile\DefaultProfile;
  4. use Aliyun\Core\DefaultAcsClient;
  5. use Aliyun\Api\Sms\Request\V20170525\SendSmsRequest;
  6. use Aliyun\Api\Sms\Request\V20170525\SendBatchSmsRequest;
  7. use Aliyun\Api\Sms\Request\V20170525\QuerySendDetailsReques;
  8. Config::load();
  9. class Dysms{
  10. static $acsClient = null;
  11. /**
  12. * 取得AcsClient
  13. *
  14. * @return DefaultAcsClient
  15. */
  16. private static function getAcsClient() {
  17. //产品名称:云通信流量服务API产品,开发者无需替换
  18. $product = "Dysmsapi";
  19. //产品域名,开发者无需替换
  20. $domain = "dysmsapi.aliyuncs.com";
  21. // TODO 此处需要替换成开发者自己的AK (https://ak-console.aliyun.com/)
  22. $accessKeyId = 'LTAI5tC1Px7Mu3294zEXsiwG';
  23. $accessKeySecret = 'YmJ1TEsjYoF9omoiEYrZ7KRJAldb1B';
  24. // 暂时不支持多Region
  25. $region = "cn-hangzhou";
  26. // 服务结点 gff
  27. $endPointName = "cn-hangzhou";
  28. if(static::$acsClient == null) {
  29. //初始化acsClient,暂不支持region化
  30. $profile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret);
  31. // 增加服务结点
  32. DefaultProfile::addEndpoint($endPointName, $region, $product, $domain);
  33. // 初始化AcsClient用于发起请求
  34. static::$acsClient = new DefaultAcsClient($profile);
  35. }
  36. return static::$acsClient;
  37. }
  38. /**
  39. * 发送短信
  40. * @return stdClass
  41. */
  42. public static function send($sign_name,$template_code,$phone,$param) {
  43. // 初始化SendSmsRequest实例用于设置发送短信的参数
  44. $request = new SendSmsRequest();
  45. //可选-启用https协议
  46. //$request->setProtocol("https");
  47. // 必填,设置短信接收号码
  48. $request->setPhoneNumbers($phone);
  49. // 必填,设置签名名称,应严格按"签名名称"填写,请参考: https://dysms.console.aliyun.com/dysms.htm#/develop/sign
  50. $request->setSignName($sign_name);
  51. // 必填,设置模板CODE,应严格按"模板CODE"填写, 请参考: https://dysms.console.aliyun.com/dysms.htm#/develop/template
  52. $request->setTemplateCode($template_code);
  53. // 可选,设置模板参数, 假如模板中存在变量需要替换则为必填项
  54. $request->setTemplateParam(json_encode($param, JSON_UNESCAPED_UNICODE));
  55. // 可选,设置流水号
  56. // $request->setOutId("00001");
  57. // 选填,上行短信扩展码(扩展码字段控制在7位或以下,无特殊需求用户请忽略此字段)
  58. // $request->setSmsUpExtendCode("1234567");
  59. // 发起访问请求
  60. $acsResponse = static::getAcsClient()->getAcsResponse($request);
  61. // var_dump($acsResponse);exit();
  62. if ($acsResponse->Code == 'OK') {
  63. return true;
  64. }
  65. return false;
  66. }
  67. }
  68. ?>