superman2014 / laravel-sms-manager
提供短信发送管理器,支持阿里云短信以及目前的功能。
v2.0.1
2017-12-26 03:36 UTC
Requires
- php: >=5.6.0
- ext-openssl: *
- illuminate/support: 5.2.* || 5.3.* || 5.4.* || 5.5.*
- superman2014/aliyun-dysms-php-sdk: ~1.0
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 还不是很完善
- 添加事件
- 支持队列
- 添加默认
- 短信频率限制 captcha-repository
- 等等