php easysms,Laravel 短信发送组件 - easy-sms

安装 easy-sms

easy-sms 是安正超写的一个短信发送组件,利用这个组件,我们可以快速的实现短信发送功能。

$ composer require "overtrue/easy-sms"

由于该组件还没有 Laravel 的 ServiceProvider,为了方便使用,我们可以自己封装一下。

首先在 config 目录中增加 easysms.php 文件,

$ touch config/easysms.php

填入如下内容。

config/easysms.php

return [

// HTTP 请求的超时时间(秒)

'timeout' => 5.0,

// 默认发送配置

'default' => [

// 网关调用策略,默认:顺序调用

'strategy' => \Overtrue\EasySms\Strategies\OrderStrategy::class,

// 默认可用的发送网关

'gateways' => [

'yunpian',

],

],

// 可用的网关配置

'gateways' => [

'errorlog' => [

'file' => '/tmp/easy-sms.log',

],

'yunpian' => [

'api_key' => env('YUNPIAN_API_KEY'),

],

],

];

然后创建一个 ServiceProvider

$ php artisan make:provider EasySmsServiceProvider

修改文件

app/providers/EasySmsServiceProvider.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');

}

}

最后 打开config/app.php 在 providers 中增加 App\Providers\EasySmsServiceProvider::class,

.

.

.

App\Providers\AppServiceProvider::class,

App\Providers\AuthServiceProvider::class,

// App\Providers\BroadcastServiceProvider::class,

App\Providers\EventServiceProvider::class,

App\Providers\RouteServiceProvider::class,

App\Providers\EasySmsServiceProvider::class,

.

.

.

在 .env 中配置 YUNPIAN_API_KEY,注意下面需要替换为你自己的 key:

.

.

.

# 云片

YUNPIAN_API_KEY=9c60bdd**********

在.env.example 中也加入配置示例,提交到版本库,方便以后部署

# 云片

YUNPIAN_API_KEY=

调试短信

我们使用 artisan 调试一下,试试能否收到短信。

打开 tinker

$ php artisan tinker

输入如下代码,注意将 17097226566 替换为你自己的手机。

$sms = app('easysms');

try {

$sms->send(17097226566, [

'content' => '【Lbbs社区】您的验证码是1234。如非本人操作,请忽略本短信',

]);

} catch (\Overtrue\EasySms\Exceptions\NoGatewayAvailableException $exception) {

$message = $exception->getException('yunpian')->getMessage();

dd($message);

}

相信你的手机上已经收到验证码了。

本作品采用《CC 协议》,转载必须注明作者和本文链接

老哥以后是要做 CTO 的人,这些技术怎么能不会呢?

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值