日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
EasySMS:一款滿足你的多種發(fā)送需求的短信發(fā)送組件

特點

  1. 支持目前市面多家服務(wù)商
  2. 一套寫法兼容所有平臺
  3. 簡單配置即可靈活增減服務(wù)商
  4. 內(nèi)置多種服務(wù)商輪詢策略、支持自定義輪詢策略
  5. 統(tǒng)一的返回值格式,便于日志與監(jiān)控
  6. 自動輪詢選擇可用的服務(wù)商
  7. 更多等你去發(fā)現(xiàn)與改進...

平臺支持

阿里云
云片
Submail
螺絲帽
容聯(lián)云通訊
互億無線
聚合數(shù)據(jù)
SendCloud
百度云
華信短信平臺
253云通訊(創(chuàng)藍)
融云
天毅無線
騰訊云 SMS
阿凡達數(shù)據(jù)
華為云
網(wǎng)易云信
云之訊
凱信通
七牛云
UE35.net
Ucloud
短信寶
Tiniyo
摩杜云
融合云(助通)
蜘蛛云

建網(wǎng)站原本是網(wǎng)站策劃師、網(wǎng)絡(luò)程序員、網(wǎng)頁設(shè)計師等,應(yīng)用各種網(wǎng)絡(luò)程序開發(fā)技術(shù)和網(wǎng)頁設(shè)計技術(shù)配合操作的協(xié)同工作。成都創(chuàng)新互聯(lián)專業(yè)提供成都網(wǎng)站制作、成都網(wǎng)站設(shè)計、外貿(mào)營銷網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,網(wǎng)站制作(企業(yè)站、自適應(yīng)網(wǎng)站建設(shè)、電商門戶網(wǎng)站)等服務(wù),從網(wǎng)站深度策劃、搜索引擎友好度優(yōu)化到用戶體驗的提升,我們力求做到極致!

環(huán)境需求

  • PHP >= 5.6

安裝

$ composer require "overtrue/easy-sms"

For Laravel notification

如果你喜歡使用?Laravel Notification, 可以考慮直接使用朋友封裝的拓展包:

https://github.com/yl/easysms-notification-channel

使用

use Overtrue\EasySms\EasySms;

$config = [
    // HTTP 請求的超時時間(秒)
    'timeout' => 5.0,

    // 默認發(fā)送配置
    'default' => [
        // 網(wǎng)關(guān)調(diào)用策略,默認:順序調(diào)用
        'strategy' => \Overtrue\EasySms\Strategies\OrderStrategy::class,

        // 默認可用的發(fā)送網(wǎng)關(guān)
        'gateways' => [
            'yunpian', 'aliyun',
        ],
    ],
    // 可用的網(wǎng)關(guān)配置
    'gateways' => [
        'errorlog' => [
            'file' => '/tmp/easy-sms.log',
        ],
        'yunpian' => [
            'api_key' => '824f0ff2f71cab52936axxxxxxxxxx',
        ],
        'aliyun' => [
            'access_key_id' => '',
            'access_key_secret' => '',
            'sign_name' => '',
        ],
        //...
    ],
];

$easySms = new EasySms($config);

$easySms->send(13188888888, [
    'content'  => '您的驗證碼為: 6379',
    'template' => 'SMS_001',
    'data' => [
        'code' => 6379
    ],
]);

短信內(nèi)容

由于使用多網(wǎng)關(guān)發(fā)送,所以一條短信要支持多平臺發(fā)送,每家的發(fā)送方式不一樣,但是我們抽象定義了以下公用屬性:

  • content?文字內(nèi)容,使用在像云片類似的以文字內(nèi)容發(fā)送的平臺
  • template?模板 ID,使用在以模板ID來發(fā)送短信的平臺
  • data?模板變量,使用在以模板ID來發(fā)送短信的平臺

所以,在使用過程中你可以根據(jù)所要使用的平臺定義發(fā)送的內(nèi)容。

$easySms->send(13188888888, [
    'content'  => '您的驗證碼為: 6379',
    'template' => 'SMS_001',
    'data' => [
        'code' => 6379
    ],
]);

你也可以使用閉包來返回對應(yīng)的值:

$easySms->send(13188888888, [
    'content'  => function($gateway){
        return '您的驗證碼為: 6379';
    },
    'template' => function($gateway){
        return 'SMS_001';
    },
    'data' => function($gateway){
        return [
            'code' => 6379
        ];
    },
]);

你可以根據(jù)?$gateway?參數(shù)類型來判斷返回值,例如:

$easySms->send(13188888888, [
    'content'  => function($gateway){
        if ($gateway->getName() == 'yunpian') {
            return '云片專用驗證碼:1235';
        }
        return '您的驗證碼為: 6379';
    },
    'template' => function($gateway){
        if ($gateway->getName() == 'aliyun') {
            return 'TP2818';
        }
        return 'SMS_001';
    },
    'data' => function($gateway){
        return [
            'code' => 6379
        ];
    },
]);

發(fā)送網(wǎng)關(guān)

默認使用?default?中的設(shè)置來發(fā)送,如果某一條短信你想要覆蓋默認的設(shè)置。在?send?方法中使用第三個參數(shù)即可:

$easySms->send(13188888888, [
    'content'  => '您的驗證碼為: 6379',
    'template' => 'SMS_001',
    'data' => [
        'code' => 6379
    ],
 ], ['yunpian', 'juhe']); // 這里的網(wǎng)關(guān)配置將會覆蓋全局默認值

返回值

由于使用多網(wǎng)關(guān)發(fā)送,所以返回值為一個數(shù)組,結(jié)構(gòu)如下:

[
    'yunpian' => [
        'gateway' => 'yunpian',
        'status' => 'success',
        'result' => [...] // 平臺返回值
    ],
    'juhe' => [
        'gateway' => 'juhe',
        'status' => 'failure',
        'exception' => \Overtrue\EasySms\Exceptions\GatewayErrorException 對象
    ],
    //...
]

如果所選網(wǎng)關(guān)列表均發(fā)送失敗時,將會拋出?Overtrue\EasySms\Exceptions\NoGatewayAvailableException?異常,你可以使用?$e->results?獲取發(fā)送結(jié)果。

你也可以使用?$e?提供的更多便捷方法:

$e->getResults();               // 返回所有 API 的結(jié)果,結(jié)構(gòu)同上
$e->getExceptions();            // 返回所有調(diào)用異常列表
$e->getException($gateway);     // 返回指定網(wǎng)關(guān)名稱的異常對象
$e->getLastException();         // 獲取最后一個失敗的異常對象

自定義網(wǎng)關(guān)

本拓展已經(jīng)支持用戶自定義網(wǎng)關(guān),你可以很方便的配置即可當(dāng)成與其它拓展一樣的使用:

$config = [
    ...
    'default' => [
        'gateways' => [
            'mygateway', // 配置你的網(wǎng)站到可用的網(wǎng)關(guān)列表
        ],
    ],
    'gateways' => [
        'mygateway' => [...], // 你網(wǎng)關(guān)所需要的參數(shù),如果沒有可以不配置
    ],
];

$easySms = new EasySms($config);

// 注冊
$easySms->extend('mygateway', function($gatewayConfig){
    // $gatewayConfig 來自配置文件里的 `gateways.mygateway`
    return new MyGateway($gatewayConfig);
});

$easySms->send(13188888888, [
    'content'  => '您的驗證碼為: 6379',
    'template' => 'SMS_001',
    'data' => [
        'code' => 6379
    ],
]);

國際短信

國際短信與國內(nèi)短信的區(qū)別是號碼前面需要加國際碼,但是由于各平臺對國際號碼的寫法不一致,所以在發(fā)送國際短信的時候有一點區(qū)別:

use Overtrue\EasySms\PhoneNumber;

// 發(fā)送到國際碼為 31 的國際號碼
$number = new PhoneNumber(13188888888, 31);

$easySms->send($number, [
    'content'  => '您的驗證碼為: 6379',
    'template' => 'SMS_001',
    'data' => [
        'code' => 6379
    ],
]);

定義短信

你可以根據(jù)發(fā)送場景的不同,定義不同的短信類,從而實現(xiàn)一處定義多處調(diào)用,你可以繼承?Overtrue\EasySms\Message?來定義短信模型:

order = $order;
    }

    // 定義直接使用內(nèi)容發(fā)送平臺的內(nèi)容
    public function getContent(GatewayInterface $gateway = null)
    {
        return sprintf('您的訂單:%s, 已經(jīng)完成付款', $this->order->no);
    }

    // 定義使用模板發(fā)送方式平臺所需要的模板 ID
    public function getTemplate(GatewayInterface $gateway = null)
    {
        return 'SMS_003';
    }

    // 模板參數(shù)
    public function getData(GatewayInterface $gateway = null)
    {
        return [
            'order_no' => $this->order->no
        ];
    }
}

更多自定義方式請參考:Overtrue\EasySms\Message

發(fā)送自定義短信:

$order = ...;
$message = new OrderPaidMessage($order);

$easySms->send(13188888888, $message);

各平臺配置說明

阿里云

短信內(nèi)容使用?template?+?data

    'aliyun' => [
        'access_key_id' => '',
        'access_key_secret' => '',
        'sign_name' => '',
    ],

阿里云Rest

短信內(nèi)容使用?template?+?data

    'aliyunrest' => [
        'app_key' => '',
        'app_secret_key' => '',
        'sign_name' => '',
    ],

云片

短信內(nèi)容使用?content

    'yunpian' => [
        'api_key' => '',
        'signature' => '【默認簽名】', // 內(nèi)容中無簽名時使用
    ],

Submail

短信內(nèi)容使用?data

    'submail' => [
        'app_id' => '',
        'app_key' => '',
        'project' => '', // 默認 project,可在發(fā)送時 data 中指定
    ],

螺絲帽

短信內(nèi)容使用?content

    'luosimao' => [
        'api_key' => '',
    ],

容聯(lián)云通訊

短信內(nèi)容使用?template?+?data

    'yuntongxun' => [
        'app_id' => '',
        'account_sid' => '',
        'account_token' => '',
        'is_sub_account' => false,
    ],

互億無線

短信內(nèi)容使用?content

    'huyi' => [
        'api_id' => '',
        'api_key' => '',
        'signature' => '',
    ],

聚合數(shù)據(jù)

短信內(nèi)容使用?template?+?data

    'juhe' => [
        'app_key' => '',
    ],

SendCloud

短信內(nèi)容使用?template?+?data

    'sendcloud' => [
        'sms_user' => '',
        'sms_key' => '',
        'timestamp' => false, // 是否啟用時間戳
    ],

百度云

短信內(nèi)容使用?template?+?data

    'baidu' => [
        'ak' => '',
        'sk' => '',
        'invoke_id' => '',
        'domain' => '',
    ],

華信短信平臺

短信內(nèi)容使用?content

    'huaxin' => [
        'user_id'  => '',
        'password' => '',
        'account'  => '',
        'ip'       => '',
        'ext_no'   => '',
    ],

253云通訊(創(chuàng)藍)

短信內(nèi)容使用?content

    'chuanglan' => [
        'account' => '',
        'password' => '',

        // 國際短信時必填
        'intel_account' => '',
        'intel_password' => '',

        // \Overtrue\EasySms\Gateways\ChuanglanGateway::CHANNEL_VALIDATE_CODE  => 驗證碼通道(默認)
        // \Overtrue\EasySms\Gateways\ChuanglanGateway::CHANNEL_PROMOTION_CODE => 會員營銷通道
        'channel'  => \Overtrue\EasySms\Gateways\ChuanglanGateway::CHANNEL_VALIDATE_CODE,

        // 會員營銷通道 特定參數(shù)。創(chuàng)藍規(guī)定:api提交營銷短信的時候,需要自己加短信的簽名及退訂信息
        'sign' => '【通訊云】',
        'unsubscribe' => '回TD退訂',
    ],

融云

短信分為兩大類,驗證類和通知類短信。 發(fā)送驗證類短信使用?template?+?data

    'rongcloud' => [
        'app_key' => '',
        'app_secret' => '',
    ]

天毅無線

短信內(nèi)容使用?content

    'tianyiwuxian' => [
        'username' => '', //用戶名
        'password' => '', //密碼
        'gwid' => '', //網(wǎng)關(guān)ID
    ]

twilio

短信使用?content?發(fā)送對象需要 使用+添加區(qū)號

    'twilio' => [
        'account_sid' => '', // sid
        'from' => '', // 發(fā)送的號碼 可以在控制臺購買
        'token' => '', // apitoken
    ],

tiniyo

短信使用?content?發(fā)送對象需要 使用+添加區(qū)號

    'tiniyo' => [
        'account_sid' => '', // auth_id from https://tiniyo.com
        'from' => '', // 發(fā)送的號碼 可以在控制臺購買
        'token' => '', // auth_secret from https://tiniyo.com
    ],

騰訊云 SMS

短信內(nèi)容使用?content

    'qcloud' => [
        'sdk_app_id' => '', // SDK APP ID
        'app_key' => '', // APP KEY
        'sign_name' => '', // 短信簽名,如果使用默認簽名,該字段可缺省(對應(yīng)官方文檔中的sign)
    ],

發(fā)送示例:

$easySms->send(18888888888, [
    'template' => 101234, // 模板ID
    'content' => "您的動態(tài)驗證碼為:{1},請于5分鐘內(nèi)完成驗證,如非本人操作,請忽略本短信!", // 模板內(nèi)容
    'data' => [ 
        $code, // 模板變量
    ],
]);

阿凡達數(shù)據(jù)

短信內(nèi)容使用?template?+?data

    'avatardata' => [
        'app_key' => '', // APP KEY
    ],

華為云 SMS

短信內(nèi)容使用?template?+?data

    'huawei' => [
        'endpoint' => '', // APP接入地址
        'app_key' => '', // APP KEY
        'app_secret' => '', // APP SECRET
        'from' => [
            'default' => '1069012345', // 默認使用簽名通道號
            'custom' => 'csms12345', // 其他簽名通道號 可以在 data 中定義 from 來指定
            'abc' => 'csms67890', // 其他簽名通道號
            ...
        ],
        'callback' => '' // 短信狀態(tài)回調(diào)地址
    ],

使用默認簽名通道?default

$easySms->send(13188888888, [
    'template' => 'SMS_001',
    'data' => [
        6379
    ],
]);

使用指定簽名通道

$easySms->send(13188888888, [
    'template' => 'SMS_001',
    'data' => [
        6379,
        'from' => 'custom' // 對應(yīng) config 中的 from 數(shù)組中 custom
    ],
]);

網(wǎng)易云信

短信內(nèi)容使用?template?+?data

    'yunxin' => [
        'app_key' => '',
        'app_secret' => '',
        'code_length' => 4, // 隨機驗證碼長度,范圍 4~10,默認為 4
        'need_up' => false, // 是否需要支持短信上行
    ],
$easySms->send(18888888888, [
    'template' => 'SMS_001',    // 不填則使用默認模板
    'data' => [
        'code' => 8946, // 如果設(shè)置了該參數(shù),則 code_length 參數(shù)無效
        'action' => 'sendCode', // 默認為 `sendCode`,校驗短信驗證碼使用 `verifyCode`
    ],
]);

云之訊

短信內(nèi)容使用?template?+?data

    'yunzhixun' => [
        'sid' => '',
        'token' => '',
        'app_id' => '',
    ],
$easySms->send(18888888888, [
    'template' => 'SMS_001',
    'data' => [
        'params' => '8946,3',   // 模板參數(shù),多個參數(shù)使用 `,` 分割,模板無參數(shù)時可為空
        'uid' => 'hexianghui',  // 用戶 ID,隨狀態(tài)報告返回,可為空
        'mobiles' => '18888888888,188888888889',    // 批量發(fā)送短信,手機號使用 `,` 分割,不使用批量發(fā)送請不要設(shè)置該參數(shù)
    ],
]);

凱信通

短信內(nèi)容使用?content

    'kingtto'  => [
        'userid'   => '',
        'account'  => '',
        'password' => '',
    ],
$easySms->send(18888888888, [
    'content'  => '您的驗證碼為: 6379',
]);

七牛云

短信內(nèi)容使用?template?+?data

    'qiniu' => [
        'secret_key' => '',
        'access_key' => '',
    ],
$easySms->send(18888888888, [
    'template' => '1231234123412341234',
    'data' => [
        'code' => 1234,
    ],
]);

Ucloud

短信使用?template?+?data

  'ucloud' => [
        'private_key'  => '',    //私鑰
        'public_key'   => '',    //公鑰
        'sig_content'  => '',    // 短信簽名,
        'project_id'   => '',    //項目ID,子賬號才需要該參數(shù)
    ],
$easySms->send(18888888888, [
    'template' => 'UTAXXXXX',       //短信模板
    'data' => [
        'code' => 1234,     //模板參數(shù),模板沒有參數(shù)不用則填寫,有多個參數(shù)請用數(shù)組,[1111,1111]
        'mobiles' =>'',     //同時發(fā)送多個手機短信,請用數(shù)組[xxx,xxx]
    ],
]);

短信寶

短信使用?content

  'smsbao' => [
        'user'  => '',    //賬號
        'password'   => ''   //密碼
    ],
$easySms->send(18888888888, [
    'content' => '您的驗證碼為: 6379',       //短信模板
]);

摩杜云

短信使用?template?+?data

  'moduyun' => [
        'accesskey' => '',  //必填 ACCESS KEY
        'secretkey' => '',  //必填 SECRET KEY
        'signId'    => '',  //選填 短信簽名,如果使用默認簽名,該字段可缺省
        'type'      => 0,   //選填 0:普通短信;1:營銷短信
    ],
$easySms->send(18888888888, [
    'template' => '5a95****b953',   //短信模板
    'data' => [
        1234,   //模板參數(shù),對應(yīng)模板的{1}
        30      //模板參數(shù),對應(yīng)模板的{2}
        //...
    ],
]);

融合云(助通)

短信使用?template?+?data

  'rongheyun' => [
        'username' => '',  //必填 用戶名
        'password' => '',  //必填 密碼
        'signature'=> '',  //必填 已報備的簽名
    ],
$easySms->send(18888888888, [
    'template' => '31874',   //短信模板
    'data' => [
        'valid_code' => '888888',   //模板參數(shù),對應(yīng)模板的{valid_code}
        //...
    ],
]);

蜘蛛云

短信使用?template?+?data

  'zzyun' => [
        'user_id' => '',    //必填 會員ID
        'secret' => '',     //必填 接口密鑰
        'sign_name'=> '',   //必填 短信簽名
    ],
$easySms->send(18888888888, [
    'template' => 'SMS_210317****',   //短信模板
    'data' => [
        'code' => '888888',   //模板參數(shù),對應(yīng)模板的{code}
        //...
    ],
]);


網(wǎng)頁標(biāo)題:EasySMS:一款滿足你的多種發(fā)送需求的短信發(fā)送組件
網(wǎng)頁地址:http://m.5511xx.com/article/cddsgsc.html