Skip to content
laravel-sms-manager for laravel
PHP
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config
src
tests
.gitignore
.php_cs.cache
README.md
composer.json
phpunit.xml

README.md

SMS

Support Laravel and Lumen.

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

Step2: 注册 Superman2014\Sms\SmsServiceProviderconfig/app.php 配置文件:

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

    Superman2014\Sms\SmsServiceProvider::class,
],

or bootstrap/app.php

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

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

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

Step3: 生成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

Step4: 代码中使用

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();

Note: superman2014/sms还不是很完善

You can’t perform that action at this time.