miserenkov/yii2-sms

Yii2 组件,用于发送短信消息

安装数量: 39,113

依赖者: 0

建议者: 0

安全性: 0

星标: 4

关注者: 2

分支: 4

开放问题: 4

类型:yii2-component

v1.2.1 2020-03-18 20:40 UTC

This package is auto-updated.

Last update: 2024-09-19 06:49:04 UTC


README

通过 Smsc 发送短信消息的 Yii2 组件

License Latest Stable Version Latest Unstable Version Total Downloads Build Status

支持

GitHub 问题.

安装

安装此扩展的首选方式是通过 composer

运行以下命令之一:

php composer.phar require --prefer-dist miserenkov/yii2-sms "^1.0"

或者在您的 composer.json 文件的 require 部分添加以下内容:

"miserenkov/yii2-sms": "^1.0"

配置

要使用发送者,您应该在应用程序配置中配置它,如下所示

'components' => [
    ...
    'sms' => [
        'class' => 'miserenkov\sms\Sms',
        'gateway' => 'smsc.ua',     // gateway, through which will sending sms, default 'smsc.ua'
        'login' => '',              // login
        'password' => '',           // password or lowercase password MD5-hash
        'senderName' => '',         // sender name
        'options' => [
            'useHttps' => true,     // use secure HTTPS connection, default true
        ],
    ],
    ...
],

可用的网关

\miserenkov\sms\Sms::GATEWAY_UKRAINE,     // smsc.ua
\miserenkov\sms\Sms::GATEWAY_RUSSIA,      // smsc.ru
\miserenkov\sms\Sms::GATEWAY_KAZAKHSTAN,  // smsc.kz
\miserenkov\sms\Sms::GATEWAY_TAJIKISTAN,  // smsc.tj
\miserenkov\sms\Sms::GATEWAY_UZBEKISTAN,  // smsc.uz
\miserenkov\sms\Sms::GATEWAY_WORLD,       // smscentre.com

消息记录

'components' => [
    ...
    'sms' => [
        ...
        'logging' => [
            'class' => '',          // optionaly, default to miserenkov\sms\logging\Logger
            'connection' => 'db'    // string or array to database connection
            'tableName' => ''       // database table name, optionaly, default to {{%sms_log}}
        ],
        ...
    ],
    ...
],

基本用法

获取余额

/**
 * return an float in case of successful or false in case of error 
 */
Yii::$app->sms->getBalance();

发送消息

/**
 * $phones an string for single number or array for multiple numbers
 * $message an string
 *
 * return an string sms identifier in case successful or false in case error
 */
Yii::$app->sms->send($phones, $message);

获取消息状态

/**
 * $id sms identifier
 * $phone phone number of recipient
 *
 * return an array [
 *      status           - status code
 *      status_message   - status message
 *      err              - error code
 *      err_message      - error message
 *      send_time        - timestamp of send
 *      cost             - message cost
 *      operator         - recipient operator
 *      region           - recipient region
 * ] in case successful or false in case error
 */
Yii::$app->sms->getStatus($id, $phone);