easy-sms:gitHub传送门:Link
1、安装:
composer require "overtrue/easy-sms"
2、config/easysms.php添加内容
<?php
return [
// HTTP 请求的超时时间(秒)
'timeout' => 5.0,
// 默认发送配置
'default' => [
// 网关调用策略,默认:顺序调用
'strategy' => \Overtrue\EasySms\Strategies\OrderStrategy::class,
// 默认可用的发送网关
'gateways' => [
'juhe', 'aliyun',
],
],
// 可用的网关配置
'gateways' => [
'errorlog' => [
'file' => '/tmp/easy-sms.log',
],
'juhe' => [
'api_key' => env('JUHE_API_KEY'),
],
'aliyun' => [
'access_key_id' => '',
'access_key_secret' => '',
'sign_name' => '',
],
//...
],
];
3、创建一个 ServiceProvider
php artisan make:provider MessageServiceProvider
4、写入内容
<?php
namespace App\Providers;
use Overtrue\EasySms\EasySms;
use Illuminate\Support\ServiceProvider;
class EasySmsServiceProvider extends ServiceProvider
{
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
//
}
/**
* Register the application services.
*
* @return void
*/
public function register()
{
$this->app->singleton(EasySms::class, function ($app) {
return new EasySms(config('easysms'));
});
$this->app->alias(EasySms::class, 'easysms');
}
}
5、使用
$sms = app('easysms');
try {
$sms->send(18888888888, [
'content' => '【通知】您的验证码是1234。如非本人操作,请忽略本短信',
'template' => '188299',
'data' => [
'code' => 654321,
],
]);
} catch (\Overtrue\EasySms\Exceptions\NoGatewayAvailableException $exception) {
$message = $exception->getResults();
dd($message);
}
//可以用变量表示出来,有些运营商用的这个。聚合不用content,用的是模板id+数据,需要自己去定义模板。具体参见github实例
参考:Link