Larval-sms + 阿里大魚 配置定時發(fā)送短信服務

file

安裝

  1. 引入依賴

    composer require toplan/laravel-sms:~2.6
    
  2. 參數(shù)配置

    • 在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,
    

配置

  1. 修改 config/phpsms.php

    scheme' => [
     'Alidayu',//配置代理器為阿里大魚
    ],
    
  2. 修改 app/helpers.php 箫津,復制以下內(nèi)容進去

    function sendMessage($mobile,$template_id,$tempData){
        $templates = [
            'Alidayu' => $template_id//模板id
        ];
        Toplan\PhpSms\Sms::make()->to($mobile)->template($templates)->data($tempData)->send();
    }
    

Artisan 命令行

  1. 生成命令

    php artisan make:command SendMessage
    
  2. 配置命令

    剛才生成的 Artisan 命令行 文件在 app/Console/Commands 目錄苏遥,我們修改目錄下剛剛生成的的 SendMessage.php 文件

    <?php
    
    namespace App\Console\Commands;
    
    use Illuminate\Console\Command;
    
    class SendMessage extends Command
    {
        /**
         * The name and signature of the console command.
         *
         * @var string
         */
        protected $signature = 'message:send';//命令的格式赡模,比如這里命令就是 php artisan message:send
    
        /**
         * The console command description.
         *
         * @var string
         */
        protected $description = 'Send message to user';//命令的描述
    
        /**
         * Create a new command instance.
         *
         * @return void
         */
        public function __construct()
        {
            parent::__construct();
        }
    
        /**
         * Execute the console command.
         *
         * @return mixed
         */
        public function handle()
        {
            //這里處理你的業(yè)務邏輯
            $mobile = 11111111111;//要發(fā)送的手機號
            template_id = 111111;//你的阿里大魚模板id
            $tempData = [
                 'name' => '123',//模板變量自定
         ];
            sendMessage($mobile,$template_id,$tempData);
        }
    }
    
  3. 注冊命令

    修改 app/Console/Kernel.php 文件漓柑,添加以下內(nèi)容

    protected $commands = [
     Commands\SendMessage::class,
    ];
    
  4. 確認命令正確生成和配置

    使用 php artisan list 命令,如果能看到 php artisan message:send 說明配置成功

定時任務

在你的服務器(linux)使用 crontab -e栋豫,添加以下內(nèi)容

* * 1 * * cd 你的項目根目錄 && php artisan message:send

這是每天執(zhí)行一次的定時任務丧鸯,如果你還不明白定時任務怎么使用嫩絮,請查看 定時任務用法例子

Debug

為了方便我們排查錯誤,我們在數(shù)據(jù)庫創(chuàng)建一個日志表 laravel-sms

  1. 創(chuàng)建 migration 文件

    php artisan make:migration create_sms_table --create
    
  2. 復制以下內(nèi)容進去

    <?php
    
    use Illuminate\Database\Migrations\Migration;
    use Illuminate\Database\Schema\Blueprint;
    
    class CreateSmsTable extends Migration
    {
        /**
         * Run the migrations.
         *
         * @return void
         */
        public function up()
        {
            Schema::create('laravel_sms', function (Blueprint $table) {
                $table->increments('id');
    
                //to:用于存儲手機號
                $table->string('to')->default('');
    
                //temp_id:存儲模板標記,用于存儲任何第三方服務商提供的短信模板標記/id
                $table->string('temp_id')->default('');
    
                //data:模板短信的模板數(shù)據(jù)置尔,建議json格式
                $table->string('data')->default('');
    
                //content:內(nèi)容
                $table->string('content')->default('');
    
                //voice_code:語言驗證碼code
                $table->string('voice_code')->default('');
    
                //發(fā)送失敗次數(shù)
                $table->mediumInteger('fail_times')->default(0);
    
                //最后一次發(fā)送失敗時間
                $table->integer('last_fail_time')->unsigned()->default(0);
    
                //發(fā)送成功時的時間
                $table->integer('sent_time')->unsigned()->default(0);
    
                //代理器使用日志榜轿,記錄每個代理器的發(fā)送狀態(tài),可用于排錯
                $table->text('result_info')->nullable();
    
                $table->timestamps();
                $table->softDeletes();
                $table->engine = 'InnoDB';
    
                //說明
                //1:temp_id和data用于發(fā)送模板短信甸私。
                //2:content用于直接發(fā)送短信內(nèi)容飞傀,不使用模板。
                //3:voice_code用于存儲語言驗證碼code弃鸦。
            });
        }
    
        /**
         * Reverse the migrations.
         *
         * @return void
         */
        public function down()
        {
            Schema::dropIfExists('laravel_sms');
        }
    }
    
  3. 遷移數(shù)據(jù)庫

    php artisan migrate

    這樣我們就可以很方便的查看日志來排查錯誤啦

其他

laravel-sms 官方文檔:https://github.com/toplan/laravel-sms
php-sms 官方文檔:https://github.com/toplan/phpsms
Artisan 命令行官方文檔:http://d.laravel-china.org/docs/5.3/artisan#registering-commands

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末掀泳,一起剝皮案震驚了整個濱河市西轩,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌马僻,老刑警劉巖注服,帶你破解...
    沈念sama閱讀 221,695評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件溶弟,死亡現(xiàn)場離奇詭異,居然都是意外死亡鸭你,警方通過查閱死者的電腦和手機擒权,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評論 3 399
  • 文/潘曉璐 我一進店門碳抄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人嫉入,你說我怎么就攤上這事璧尸。” “怎么了?”我有些...
    開封第一講書人閱讀 168,130評論 0 360
  • 文/不壞的土叔 我叫張陵瞎颗,是天一觀的道長。 經(jīng)常有香客問我引有,道長倦逐,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,648評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮健民,結(jié)果婚禮上秉犹,老公的妹妹穿的比我還像新娘。我一直安慰自己型诚,他們只是感情好鸳劳,可當我...
    茶點故事閱讀 68,655評論 6 397
  • 文/花漫 我一把揭開白布棍辕。 她就那樣靜靜地躺著,像睡著了一般楚昭。 火紅的嫁衣襯著肌膚如雪抚太。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,268評論 1 309
  • 那天电媳,我揣著相機與錄音匾乓,去河邊找鬼又谋。 笑死娱局,一個胖子當著我的面吹牛咧七,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播耻涛,決...
    沈念sama閱讀 40,835評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼抹缕,長吁一口氣:“原來是場噩夢啊……” “哼芒帕!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起鉴分,我...
    開封第一講書人閱讀 39,740評論 0 276
  • 序言:老撾萬榮一對情侶失蹤志珍,失蹤者是張志新(化名)和其女友劉穎垛叨,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體敛纲,經(jīng)...
    沈念sama閱讀 46,286評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡淤翔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,375評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了佩谷。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片旁壮。...
    茶點故事閱讀 40,505評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖谐檀,靈堂內(nèi)的尸體忽然破棺而出抡谐,到底是詐尸還是另有隱情,我是刑警寧澤桐猬,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布麦撵,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏厦坛。R本人自食惡果不足惜五垮,卻給世界環(huán)境...
    茶點故事閱讀 41,873評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧润绎,春花似錦撬碟、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至棍郎,卻和暖如春其障,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背涂佃。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評論 1 272
  • 我被黑心中介騙來泰國打工励翼, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人辜荠。 一個月前我還...
    沈念sama閱讀 48,921評論 3 376
  • 正文 我出身青樓汽抚,卻偏偏與公主長得像,于是被迫代替她去往敵國和親伯病。 傳聞我的和親對象是個殘疾皇子造烁,可洞房花燭夜當晚...
    茶點故事閱讀 45,515評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 原文鏈接 必備品 文檔:Documentation API:API Reference 視頻:Laracasts ...
    layjoy閱讀 8,609評論 0 121
  • 一、配置 1.從終端或命令行進入您的項目目錄,運行 composer require iscms/alisms-f...
    吳濤濤閱讀 625評論 0 2
  • 文章分類 后臺文章分類列表頁模板導的詳細步驟建立數(shù)據(jù)表blog_category午笛,并添加相應的文章字段使用php ...
    JoyceZhao閱讀 1,713評論 0 12
  • 清晨路經(jīng)單位前的一條馬路药磺。 長長的馬路里有個紅綠燈告组。 恰好看到車行方向亮的是綠燈,一輛公交車卻在綠燈前停了下來与涡。正...
    迦顏閱讀 202評論 0 0
  • 總會有人熬夜陪你 下雨接你 說我愛你
    岳_42ea閱讀 162評論 0 0