美文网首页Laravel
Laravel SMS 短信发送包

Laravel SMS 短信发送包

作者: iBrand_shjchen | 来源:发表于2018-01-19 15:30 被阅读495次

Laravel Sms

Laravel 贴合实际需求同时满足多种通道的短信发送组件

image.png

Featrue

我们基于业务需求在 overtrue/easy-sms 基础进行扩展开发,主要实现如下目标:

  1. 支持短信验证码直接在 config 中配置模板ID
  2. 支持短信验证码自定义长度
  3. 支持短信验证码有效分钟,默认5分钟
  4. 支持短信验证码重试次数,防止用户意外输错验证码导致需要再次发送验证码的问题。
  5. 支持短信验证码未验证时,用户再次请求验证码,在有效分钟内验证码保持一致。
  6. 集成短信发送路由,支持 web 和 api 发送方式。
  7. 支持验证码调试,debug 模式下可直接查询手机号目前有效的验证码

包地址:ibrand/laravel-sms

TODO:

  1. 支持短信验证码发送记录到数据库
  2. 支持语音验证码

安装

composer require ibrand/laravel-sms:~1.0 -vvv

低于 Laravel5.5 版本

config/app.php 文件中 'providers' 添加

iBrand\Sms\ServiceProvder::class

config/app.php 文件中 'aliases' 添加

'Sms'=> iBrand\Sms\Facade::class

使用

发送验证码

实现了发送短信验证码路由,支持 web 和 api ,可以自定义路由的 prefix。

'route' => [
        'prefix' => 'sms',
        'middleware' => ['web'],
    ],
    
or

'route' => [
        'prefix' => 'sms',
        'middleware' => ['api'],
    ],

POST请求 http://your.domain/sms/verify-code

参数:mobile

备注:为了开发调试方便,在 debug 模式下不会验证手机的有效性。

返回参数:

{
    "status": true,
    "message": "短信发送成功"
}

验证验证码

    use iBrand\Sms\Facade as Sms;
    

    if (!Sms::checkCode(\request('mobile'), \request('code'))) {
            //Add you code.
        }

配置模板 ID

config/ibrand/sms.phpgateways 参数可以直接添加 code_template_id 来配置模板 id

    // 可用的网关配置
        'gateways' => [

            'errorlog' => [
                'file' => '/tmp/easy-sms.log',
            ],

            'yunpian' => [
                'api_key' => '824f0ff2f71cab52936axxxxxxxxxx',
            ],

            'aliyun' => [
                'access_key_id' => 'dalvTXXX',
                'access_key_secret' => 'XXXX',
                'sign_name' => '阿里云短信测试专用',
                'code_template_id' => 'SMS_80215252'
            ],

            'alidayu' => 
                //...
            ],
        ],

配置 Content

非模板类通道,可以通过 config/ibrand/sms.php 自定义短信内容

'content' => '【your signature】亲爱的用户,您的验证码是%s。有效期为%s分钟,请尽快验证。'

debug

在实际开发中会存在并不用真实发出验证码的情况,因此在 debug 模式下,可以通过

http://your.domain/api/sms/info?mobile=1898888XXXX 来直接只看某个手机号当前有效验证码信息。

相关文章

  • Laravel SMS 短信发送包

    Laravel Sms Laravel 贴合实际需求同时满足多种通道的短信发送组件 Featrue 我们基于业务需...

  • 用Laravel Sms实现 laravel短信验证码的发送

    阿里云短信服务使用Laravel Sms这个扩展包实现短信验证码的发送,这里以阿里云的短信服务为例:首先,要创建短...

  • laravel使用阿里大鱼发送短信

    laravel 发送短信(这个版本阿里大鱼已经归阿里云短信服务了)aliyun-sms用了一下这个,但是关键也不是...

  • java 发送短信 SMS

    项目中有发送短信的功能,所有自己也新建了一个方法试验一下。 其实也就是直接把SMS网站(地址在下面)的代码拷下来运...

  • 短信

    短信发送通讯框架的类关系如图1-1所示。 SMS应用通过调用SmsManager提供的接口发送短消息。而SMS的框...

  • Springboot集成SMS发送短信

    【1】前言 目前大多网站APP的登陆方式都不再单一,通过手机获取短信验证码进行账户登陆无疑是最方便、快捷和安全的一...

  • 报名比赛发送短信验证码

    API: 报名比赛发送短信验证码 URL: /send_sms_code_participate/ 请求方式: ...

  • 申请成为法官,发送短信验证码

    API: 申请成为法官,发送短信验证码 URL: /send_sms_code_judge/ 请求方式: POS...

  • Python3利用云信发短信

    根据大神的文章,网易SMS-SDK,只使用其中发送模板短信部分,学习python。 云信短信API对接 功能说明:...

  • java发送手机验证码实现

    今天来用java实现手机验证码的发送。 短信平台有很多,中国网建提供的SMS短信通,注册免费5条短信,3条彩信, ...

网友评论

    本文标题:Laravel SMS 短信发送包

    本文链接:https://www.haomeiwen.com/subject/ouoooxtx.html