Laravel 短信服务

作者: 童蒙vlog | 来源:发表于2017-07-07 17:50 被阅读445次

    1.安装

    composer require toplan/laravel-sms
    

    2.注册服务提供器

    在config/app.php文件中providers数组里加入:

    Toplan\PhpSms\PhpSmsServiceProvider::class,
    Toplan\Sms\SmsManagerServiceProvider::class,
    

    在config/app.php文件中的aliases数组里加入

    'PhpSms' => Toplan\PhpSms\Facades\Sms::class,
    'SmsManager' => Toplan\Sms\Facades\SmsManager::class,
    

    3.参数配置

    生成配置文件和migration文件

    php artisan vendor:publish --provider="Toplan\PhpSms\PhpSmsServiceProvider"
    php artisan vendor:publish --provider="Toplan\Sms\SmsManagerServiceProvider"
    

    这里会生成两个配置文件,分别为phpsms.php和laravel-sms.php。

    • 配置代理器参数

    在config/phpsms.php的agents数组中,找到你想要使用的代理器,并填写好配置信息。

    • 代理器均衡调度

    在config/phpsms.php中设置代理器的均衡调度方案。

    'scheme' => [
        //被使用概率为2/3
        'Luosimao' => '20',
    
        //被使用概率为1/3,且为备用代理器
        'YunPian' => '10 backup',
    
        //仅为备用代理器
        'YunTongXun' => '0 backup',
    ];
    

    4.发送前数据验证

    'validation' => [
        //内置的mobile参数的验证配置
        'mobile' => [
            'isMobile'    => true, //是否为手机号码
            'enable'      => true, //是否需要进行验证
            'default'     => 'mobile_required', //默认静态验证规则
            'staticRules' => [ //所有静态验证规则
            [
    
    ](https://github.com/toplan/laravel-sms#示例)
                'mobile_required' => 'required|zh_mobile',
                ...
            ],
        ],
        //自定义你可能需要验证的字段
        'image_captcha' => [
            'enable' => true,
        ],
    ],
    

    5.使用Sms模型发送短信

    //只希望使用模板方式发送短信,可以不设置内容content (如云通讯,Submail)
      Toplan\Sms\Sms::make($tempId)->to('1828****349')->data(['12345', 5])->send();
    
      //只希望使用内容方式放送,可以不设置模板id和模板数据data (如云片,luosimao)
      Toplan\Sms\Sms::make()->to('1828****349')->content('【Laravel SMS】亲爱的张三,欢迎访问,祝你工作愉快。')->send();
    
      //同时确保能通过模板和内容方式发送。这样做的好处是,可以兼顾到各种代理器(服务商)!
      Toplan\Sms\Sms::make([
          'YunTongXun' => '123',
          'SubMail'    => '123'
      ])
      ->to('1828****349')
      ->data(['张三'])
      ->content('【签名】亲爱的张三,欢迎访问,祝你工作愉快。')
      ->send();
    
    //use PhpSms;
    $result = PhpSms::make()->to($this->mobile)
                ->content('【天使湾创投】你好,你的项目已被天使湾创投关注,请在天使湾官网 www.tisiwi.com 回答8个问题,100小时内给您反馈,谢谢。')
                ->send();
    
    // 语音验证码
    Sms::voice('02343')->to($to)->send();
    
    // 语音验证码兼容模版语音(如阿里大鱼的文本转语音)
    Sms::voice('02343')
        ->template('Alidayu', 'your_tts_code')
        ->data(['code' => '02343'])
        ->to($to)->send();
    

    相关文章

      网友评论

        本文标题:Laravel 短信服务

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