superman2014/laravel-sms-manager

提供短信发送管理器,支持阿里云短信以及目前的功能。

v2.0.1 2017-12-26 03:36 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:47:54 UTC


README

支持 Laravel 和 Lumen。

步骤1: 安装,composer require "superman2014/laravel-sms-manager:1.0.x@dev"

步骤2: 将 Superman2014\Sms\SmsServiceProvider 注册到 config/app.php 配置文件

'providers' => [
    // Other service providers...

    Superman2014\Sms\SmsServiceProvider::class,
],

bootstrap/app.php

$app->register(Superman2014\Sms\SmsServiceProvider::class);

也可以,将 Sms 门面添加到配置文件的 aliases 数组中

    'Sms' => Superman2014\Sms\Facades\Sms::class,

步骤3: 生成config/sms.php

    php artisan vendor:publish

配置文件内容如下

<?php

return [

    'default' => 'aliyunsms',

    'sms' => [
        'aliyunsms' => [
            'driver' => 'aliyunsms',
            'client_id' => env('ALIYUN_SMS_CLIENT_ID', null),
            'client_secret' => env('ALIYUN_SMS_CLIENT_SECRET', null),
            'sign_name' => env('ALIYUN_SMS_SIGN_NAME', null), //对应下面,而且是默认签名
            'end_point' => env('ALIYUN_SMS_END_POINT', null),
            'template_codes' => [
                'SMS_1234' => [
                    'name' => '测试验证码',
                    'scopes' => ['captcha'],
                    'sign_name_key' => 'sign_name',//对应上面的sign_name,默认读取sign_name,也可以重定义,便于支持多个不同的签名
                ],
            ],
        ],
    ],
];

我们可以在 .env 文件中配置这三个常量(阿里云 access_key,阿里云 access_secret,短信签名)

ALIYUN_SMS_CLIENT_ID,ALIYUN_SMS_CLIENT_SECRET,ALIYUN_SMS_SIGN_NAME

步骤4: 代码中使用

php artisan tinker
Psy Shell v0.7.2 (PHP 7.0.15 — cli) by Justin Hileman

>>> use Sms;
=> null
>>> $paramString = ['captcha' => 1234];
=> [
     "captcha" => 1234,
   ]
>>> $a = Sms::driver()->prepare('18512345678', $paramString, 'SMS_1234')->send();
>>> $a = Sms::driver('aliyunsms')->prepare('18512345678', $paramString, 'SMS_1234')->send();


支持营销短信变量为空
>>> $a = Sms::driver()->prepareV20170606('18512345678', [], 'SMS_1234')->sendV20170606();

注意: superman2014/sms 还不是很完善