sms.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <?php
  2. error_reporting(E_ALL);
  3. ini_set('display_errors', '1');
  4. session_start();
  5. header('content-type:text/html;charset=utf-8');
  6. $phone=$_POST["Tel"];
  7. if(!preg_match('/^[0-9]{11,13}$/',$phone))
  8. {
  9. print("error");
  10. exit();
  11. }
  12. $randCode = '';
  13. $chars = '123456789';
  14. for ( $i = 0; $i < 4; $i++ ){
  15. $randCode .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
  16. }
  17. if(empty($_SESSION['codetime'])){
  18. $_SESSION['codetime'] = 0 ;
  19. }
  20. $time=time()-$_SESSION['codetime'];
  21. if($_SESSION['codetime']>0 and $time<=60){
  22. exit("1分钟内只能获取一次验证码");
  23. }
  24. $_SESSION['code'] = strtolower($randCode);
  25. date_default_timezone_set("PRC");
  26. // tpl_id 短信模板id
  27. $tpl_id = "TP18050813";
  28. // $appcode
  29. $appcode = "16f4204906d94310a67efc470fad7187";
  30. $host = "http://dingxin.market.alicloudapi.com";
  31. $path = "/dx/sendSms";
  32. $method = "POST";
  33. $appcode = $appcode;
  34. $headers = array();
  35. array_push($headers, "Authorization:APPCODE " . $appcode);
  36. $querys = "mobile=".$phone."&param=code%3A".$_SESSION['code']."&tpl_id=".$tpl_id;
  37. $bodys = "";
  38. $url = $host . $path . "?" . $querys;
  39. $curl = curl_init();
  40. curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
  41. curl_setopt($curl, CURLOPT_URL, $url);
  42. curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
  43. curl_setopt($curl, CURLOPT_FAILONERROR, false);
  44. curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  45. curl_setopt($curl, CURLOPT_HEADER, false);
  46. if (1 == strpos("$".$host, "https://"))
  47. {
  48. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
  49. curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
  50. }
  51. $jsonArray = curl_exec($curl);
  52. $jsonArray = json_decode($jsonArray,true);
  53. if($jsonArray['return_code'] == "00000"){
  54. echo "发送成功".$jsonArray['order_id'];
  55. }else{
  56. echo "发送失败,错误码:".$jsonArray['return_code'];
  57. }
  58. // 提交完整资料链接:http://localhost:86/register/mobile?phone=18792434053&token=7ec1272055d5771806dea8d52d6214fa4c7a7a3f
  59. // 提交完整资料链接:http://localhost:86/register/mobile?phone=手机号&token=token值
  60. // stmp:mtp.189.cn,端口 25, 账户18792434053@189.cn, 密码wgc,.123
  61. // 错误码 错误信息 描述
  62. // 10000 参数异常 必传参数有空值()
  63. // 10001 手机号格式不正确 手机号应为11位手机号
  64. // 10002 模板不存在 没有申请模板,或模板未通过审核
  65. // 10003 模板变量不正确 模板中含有变量,但未将变量传入,变量传值格式错误
  66. // 10004 变量中含有敏感词 变量中含有违法敏感词
  67. // 10005 变量名称不匹配 申请的模板中含有变量名称,变量的名称与所传变量名称不匹配
  68. // 10006 短信长度过长 签名+模板+变量长度超过70字,超过一条短信长度,如果有超长短信需求请联系客服
  69. // 10007 手机号查询不到归属地 所传手机号查询不到归属地
  70. // 10008 产品错误 系统错误,详情请联系客服
  71. // 10009 价格错误 系统错误,详情请联系客服
  72. // 10010 重复调用 由于网络原因重复调用接口
  73. // 99999 系统错误 详情请联系客服
  74. // 00000 调用成功
  75. ?>