PHPackages                             luosimao/sms - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Mail &amp; Notifications](/categories/mail)
4. /
5. luosimao/sms

ActiveLibrary[Mail &amp; Notifications](/categories/mail)

luosimao/sms
============

Luosimao SMS PHP SDK

v1.0.1(3mo ago)00MITPHP

Since Mar 26Pushed 3mo agoCompare

[ Source](https://github.com/luosimao-oss/sms-php)[ Packagist](https://packagist.org/packages/luosimao/sms)[ RSS](/packages/luosimao-sms/feed)WikiDiscussions main Synced 3w ago

READMEChangelogDependencies (2)Versions (3)Used By (0)

Luosimao SMS PHP SDK
====================

[](#luosimao-sms-php-sdk)

这是一个用于 Luosimao（螺丝帽）短信发送的 PHP SDK。目前实现了第一期功能，包含：单条短信发送、批量短信发送和账户余额查询。

特性
--

[](#特性)

- **统一的错误码枚举**：所有 API 错误码（如 `-10`、`-20`、`-31`）已被映射为 `Luosimao\SmsSdk\Enums\ErrorCode` 常量，方便排查。
- **自动重试机制**：遇到网络抖动（ConnectionTimeout 等）或服务端 5xx 错误时，会自动采用指数退避策略重试，提高请求成功率。
- **请求签名封装**：自动处理 API Key，开发者无需手动拼接 `api:key-` 进行 Basic Auth，内部已完成无感封装。
- **完善的单元测试**：核心功能已全部被 PHPUnit 覆盖，保障 SDK 的稳定性。

环境要求
----

[](#环境要求)

- PHP &gt;= 7.4
- Composer

安装
--

[](#安装)

可通过 Composer 直接安装：

```
composer require luosimao/sms
```

快速使用
----

[](#快速使用)

### 初始化

[](#初始化)

```
use Luosimao\SmsSdk\Sms;

// 填入你的 API Key，系统会自动补全 key- 前缀和鉴权细节，在官网后台短信->触发发送下获取
$apiKey = 'your_luosimao_api_key';

// 可选配置
$config = [
    'max_retries' => 3, // 网络抖动最大重试次数，默认为 3
    'timeout' => 10.0,  // 请求超时时间
];

$sms = new Sms($apiKey, $config);
```

### 单条短信发送

[](#单条短信发送)

```
try {
    $mobile = '13800138000';
    $message = '验证码：123456【你的公司名】'; // 请务必包含签名，测试可用：铁壳测试 ，正式签名可在官网后台签名管理下新增报备，报备完成后可用。

    $result = $sms->send($mobile, $message);

    echo "发送成功！\n";
    print_r($result);
} catch (\Luosimao\SmsSdk\Exceptions\LuosimaoException $e) {
    echo "发送失败，错误码：" . $e->getCode() . "\n";
    echo "错误原因：" . $e->getMessage() . "\n";

    // 如果是敏感词错误 (-31)，可获取被拦截的敏感词
    if ($e->getCode() === \Luosimao\SmsSdk\Enums\ErrorCode::SENSITIVE_WORDS) {
        $extra = $e->getExtraData();
        echo "触发敏感词：" . ($extra['hit'] ?? '未知') . "\n";
    }
}
```

### 批量发送短信

[](#批量发送短信)

```
try {
    // 支持数组格式或逗号分隔的字符串
    $mobileList = ['13800138000', '13800138001'];
    $message = '温馨提示：您的服务即将到期，请及时续费。【你的公司名】';

    // 第三个参数为可选的定时发送时间
    $result = $sms->sendBatch($mobileList, $message, '2026-05-01 12:00:00');

    echo "批量发送成功，批次号：" . $result['batch_id'] . "\n";
} catch (\Luosimao\SmsSdk\Exceptions\LuosimaoException $e) {
    echo "发送失败：" . $e->getMessage();
}
```

### 查询账户余额

[](#查询账户余额)

```
try {
    $balance = $sms->getBalance();
    echo "当前可用短信余额：" . $balance . " 条\n";
} catch (\Luosimao\SmsSdk\Exceptions\LuosimaoException $e) {
    echo "查询失败：" . $e->getMessage();
}
```

测试
--

[](#测试)

执行 PHPUnit 运行完整的单元测试：

```
./vendor/bin/phpunit
```

许可证
---

[](#许可证)

MIT License.

###  Health Score

31

—

LowBetter than 66% of packages

Maintenance82

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity35

Early-stage or recently created project

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

91d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/18e556ad1d0854ffd7ce575a79a28188d687472c14212b1d8f24ed53cd95d901?d=identicon)[yzcj007](/maintainers/yzcj007)

---

Tags

smsLuoSiMaoluosimao-sdk

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/luosimao-sms/health.svg)

```
[![Health](https://phpackages.com/badges/luosimao-sms/health.svg)](https://phpackages.com/packages/luosimao-sms)
```

###  Alternatives

[aws/aws-sdk-php

AWS SDK for PHP - Use Amazon Web Services in your PHP project

6.2k532.1M2.5k](/packages/aws-aws-sdk-php)[neuron-core/neuron-ai

The PHP Agentic Framework.

2.0k496.1k33](/packages/neuron-core-neuron-ai)[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3661.2M46](/packages/tencentcloud-tencentcloud-sdk-php)[tzsk/sms

A robust and unified SMS gateway integration package for Laravel, supporting multiple providers.

318263.8k6](/packages/tzsk-sms)[gr8shivam/laravel-sms-api

A modern, flexible Laravel package for integrating any SMS gateway with REST API support

10139.9k](/packages/gr8shivam-laravel-sms-api)[eslazarev/wildberries-sdk

Wildberries OpenAPI clients (generated).

252.5k](/packages/eslazarev-wildberries-sdk)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
