1.安裝
composer require toplan/laravel-sms
2.注冊(cè)服務(wù)提供器
在config/app.php文件中providers數(shù)組里加入:
Toplan\PhpSms\PhpSmsServiceProvider::class,
Toplan\Sms\SmsManagerServiceProvider::class,
在config/app.php文件中的aliases數(shù)組里加入
'PhpSms' => Toplan\PhpSms\Facades\Sms::class,
'SmsManager' => Toplan\Sms\Facades\SmsManager::class,
3.參數(shù)配置
生成配置文件和migration文件
php artisan vendor:publish --provider="Toplan\PhpSms\PhpSmsServiceProvider"
php artisan vendor:publish --provider="Toplan\Sms\SmsManagerServiceProvider"
這里會(huì)生成兩個(gè)配置文件继阻,分別為phpsms.php和laravel-sms.php乡翅。
- 配置代理器參數(shù)
在config/phpsms.php的agents數(shù)組中,找到你想要使用的代理器年柠,并填寫(xiě)好配置信息刺桃。
- 代理器均衡調(diào)度
在config/phpsms.php中設(shè)置代理器的均衡調(diào)度方案顾复。
'scheme' => [
//被使用概率為2/3
'Luosimao' => '20',
//被使用概率為1/3餐抢,且為備用代理器
'YunPian' => '10 backup',
//僅為備用代理器
'YunTongXun' => '0 backup',
];
4.發(fā)送前數(shù)據(jù)驗(yàn)證
'validation' => [
//內(nèi)置的mobile參數(shù)的驗(yàn)證配置
'mobile' => [
'isMobile' => true, //是否為手機(jī)號(hào)碼
'enable' => true, //是否需要進(jìn)行驗(yàn)證
'default' => 'mobile_required', //默認(rèn)靜態(tài)驗(yàn)證規(guī)則
'staticRules' => [ //所有靜態(tài)驗(yàn)證規(guī)則
[
](https://github.com/toplan/laravel-sms#示例)
'mobile_required' => 'required|zh_mobile',
...
],
],
//自定義你可能需要驗(yàn)證的字段
'image_captcha' => [
'enable' => true,
],
],
5.使用Sms模型發(fā)送短信
//只希望使用模板方式發(fā)送短信,可以不設(shè)置內(nèi)容content (如云通訊,Submail)
Toplan\Sms\Sms::make($tempId)->to('1828****349')->data(['12345', 5])->send();
//只希望使用內(nèi)容方式放送,可以不設(shè)置模板id和模板數(shù)據(jù)data (如云片,luosimao)
Toplan\Sms\Sms::make()->to('1828****349')->content('【Laravel SMS】親愛(ài)的張三,歡迎訪問(wèn)宗收,祝你工作愉快。')->send();
//同時(shí)確保能通過(guò)模板和內(nèi)容方式發(fā)送亚兄。這樣做的好處是混稽,可以兼顧到各種代理器(服務(wù)商)!
Toplan\Sms\Sms::make([
'YunTongXun' => '123',
'SubMail' => '123'
])
->to('1828****349')
->data(['張三'])
->content('【簽名】親愛(ài)的張三审胚,歡迎訪問(wèn)匈勋,祝你工作愉快。')
->send();
//use PhpSms;
$result = PhpSms::make()->to($this->mobile)
->content('【天使灣創(chuàng)投】你好膳叨,你的項(xiàng)目已被天使灣創(chuàng)投關(guān)注洽洁,請(qǐng)?jiān)谔焓篂彻倬W(wǎng) www.tisiwi.com 回答8個(gè)問(wèn)題,100小時(shí)內(nèi)給您反饋菲嘴,謝謝饿自。')
->send();
// 語(yǔ)音驗(yàn)證碼
Sms::voice('02343')->to($to)->send();
// 語(yǔ)音驗(yàn)證碼兼容模版語(yǔ)音(如阿里大魚(yú)的文本轉(zhuǎn)語(yǔ)音)
Sms::voice('02343')
->template('Alidayu', 'your_tts_code')
->data(['code' => '02343'])
->to($to)->send();