分类
API Coding

Easy SMS

Easy SMS

https://github.com/overtrue/easy-sms

一款满足你的多种发送需求的短信发送组件

特点
支持目前市面多家服务商
一套写法兼容所有平台
简单配置即可灵活增减服务商
内置多种服务商轮询策略、支持自定义轮询策略
统一的返回值格式,便于日志与监控
自动轮询选择可用的服务商
更多等你去发现与改进…

平台支持
阿里云
云片
Submail
螺丝帽
容联云通讯
互亿无线
聚合数据
SendCloud
百度云
华信短信平台
253云通讯(创蓝)
融云
天毅无线
腾讯云 SMS
阿凡达数据
华为云

环境需求
PHP >= 5.6

安装
$ composer require “overtrue/easy-sms”

使用
use Overtrue\EasySms\EasySms;

$config = [
// HTTP 请求的超时时间(秒)
‘timeout’ => 5.0,

// 默认发送配置
'default' => [
    // 网关调用策略,默认:顺序调用
    'strategy' => \Overtrue\EasySms\Strategies\OrderStrategy::class,

    // 默认可用的发送网关
    'gateways' => [
        'yunpian', 'aliyun',
    ],
],
// 可用的网关配置
'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
],
]);

各平台配置说明
阿里云
短信内容使用 template + data

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

阿里云Rest
短信内容使用 template + data

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

云片
短信内容使用 content

'yunpian' => [
    'api_key' => '',
    'signature' => '【默认签名】', // 内容中无签名时使用
],

Submail
短信内容使用 data

'submail' => [
    'app_id' => '',
    'app_key' => '',
    'project' => '', // 默认 project,可在发送时 data 中指定
],

螺丝帽
短信内容使用 content

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

容联云通讯
短信内容使用 template + data

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

互亿无线
短信内容使用 content

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

聚合数据
短信内容使用 template + data

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

SendCloud
短信内容使用 template + data

'sendcloud' => [
    'sms_user' => '',
    'sms_key' => '',
    'timestamp' => false, // 是否启用时间戳
],

百度云
短信内容使用 template + data

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

华信短信平台
短信内容使用 content

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

253云通讯(创蓝)
短信内容使用 content

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

    // \Overtrue\EasySms\Gateways\ChuanglanGateway::CHANNEL_VALIDATE_CODE  => 验证码通道(默认)
    // \Overtrue\EasySms\Gateways\ChuanglanGateway::CHANNEL_PROMOTION_CODE => 会员营销通道
    'channel'  => \Overtrue\EasySms\Gateways\ChuanglanGateway::CHANNEL_VALIDATE_CODE, 

    // 会员营销通道 特定参数。创蓝规定:api提交营销短信的时候,需要自己加短信的签名及退订信息
    'sign' => '【通讯云】',
    'unsubscribe' => '回TD退订', 
],

融云
短信分为两大类,验证类和通知类短信。 发送验证类短信使用 template + data

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

天毅无线
短信内容使用 content

'tianyiwuxian' => [
    'username' => '', //用户名
    'password' => '', //密码
    'gwid' => '', //网关ID
]

twilio
短信使用 content
发送对象需要 使用+添加区号

'twilio' => [
    'account_sid' => '', // sid
    'from' => '', // 发送的号码 可以在控制台购买
    'token' => '', // apitoken
],

腾讯云 SMS
短信内容使用 content。

'qcloud' => [
    'sdk_app_id' => '', // SDK APP ID
    'app_key' => '', // APP KEY
    'sign_name' => '', // 短信签名,如果使用默认签名,该字段可缺省(对应官方文档中的sign)
],

阿凡达数据
短信内容使用 template + data

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

华为云 SMS
短信内容使用 template + data

'huawei' => [
    'endpoint' => '', // APP接入地址
    'app_key' => '', // APP KEY
    'app_secret' => '', // APP SECRET
    'from' => [
        'default' => '1069012345', // 默认使用签名通道号
        'custom' => 'csms12345', // 其他签名通道号 可以在 data 中定义 from 来指定
        'abc' => 'csms67890', // 其他签名通道号
        ...
    ],
    'callback' => '' // 短信状态回调地址
],

使用默认签名通道 default

$easySms->send(13188888888, [
‘template’ => ‘SMS_001’,
‘data’ => [
6379
],
]);
使用指定签名通道

$easySms->send(13188888888, [
‘template’ => ‘SMS_001’,
‘data’ => [
6379,
‘from’ => ‘custom’ // 对应 config 中的 from 数组中 custom
],
]);

发表评论

电子邮件地址不会被公开。 必填项已用*标注