php 阿里短信接口部署
composer 安装三方类:composer require alibabacloud/client
发送短信类
<?php namespace app\common\controller; use think\Controller; use AlibabaCloud\Client\AlibabaCloud; use AlibabaCloud\Client\Exception\ClientException; use AlibabaCloud\Client\Exception\ServerException; class SendSms extends Controller { static private $accessKeyId = "****************"; static private $accessSecret = "*****************"; static private $signName = "*****服务信息平台"; // 优先加载 public function _initialize() { } static function send_sms($mobile,$code,$template){ $accessKeyId = self::$accessKeyId; $accessSecret = self::$accessSecret; $signName = self::$signName; AlibabaCloud::accessKeyClient($accessKeyId, $accessSecret) ->regionId('cn-hangzhou') ->asDefaultClient(); try { $result = AlibabaCloud::rpc() ->product('Dysmsapi') // ->scheme('https') // https | http ->version('2017-05-25') ->action('SendSms') ->method('POST') ->host('dysmsapi.aliyuncs.com') ->options([ 'query' => [ 'RegionId' => "cn-hangzhou", 'PhoneNumbers' => $mobile, 'SignName' => $signName, 'TemplateCode' => $template, 'TemplateParam' => $code, ], ]) ->request(); print_r($result->toArray()); } catch (ClientException $e) { echo $e->getErrorMessage() . PHP_EOL; } catch (ServerException $e) { echo $e->getErrorMessage() . PHP_EOL; } } }
发送短信函数
/** * 发送 登录 验证码 * @return [type] [description] */ public function sendLogin(){ $post = $this->request->param(); $validate = new \think\Validate([ ['phone', 'require|/^1[3-8]{1}[0-9]{9}$/', '手机号不能为空|手机号格式不正确'], ]); if (!$validate->check($post)) { return $this->error('发送失败:' . $validate->getError()); } $mobile = $post['phone']; $template = "SMS_195580724"; $code['code'] = mt_rand(000000,999999); $aa = $code['code']; Session::set("code",$code['code']); $return = SendSms::send_sms($mobile,json_encode($code),$template); return $return; }
测试用例
use app\common\controller\SendSms; function sendLogin(){ $mobile = "150888888888"; $template = "SMS_195580724"; $code['code'] = mt_rand(000000,999999); $return = SendSms::send_sms($mobile,json_encode($code),$template); return $return; }
2020-08-08
分类:
PHP
标签:
阿里短信
, php阿里短信接口部署
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具