overtrue

overtrue/easy-sms

PHP MIT Dev Tools Single maintainer risk

📲 一款多渠道的短信发送轮子

3.3k stars
564 forks
slow
GitHub +1 / week

3.3k

Stars

564

Forks

24

Open issues

30

Contributors

3.3.0 18 Dec 2025

AI Analysis

Easy SMS is a PHP library that provides a unified interface for sending SMS messages across 35+ Chinese and international SMS gateways (Tencent Cloud, Aliyun, Qiniu, Huawei Cloud, etc.). It's purpose-built for developers integrating SMS functionality into PHP applications who need gateway abstraction, automatic failover, and a consistent API. Not suitable for non-PHP projects or those requiring real-time two-way messaging.

Dev Tools Library Discovery value: 4/10
Documentation 7/10
Activity 6/10
Community 7/10
Code quality 5/10

Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.

Overall score 7/10

AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.

sms-gateway php-library multi-provider communication notifications
Niche/specialized use case MIT licensed Actively maintained Popular Production ready
Deep Analysis · Based on README and public signals
1w ago

PHP multi-gateway SMS library with 35+ Chinese telecom providers, maintained since 2017

Easy SMS is a PHP wrapper that abstracts multiple Chinese SMS service providers (Aliyun, Tencent Cloud, Yunpian, etc.) behind a unified API. It handles provider failover, template/content mapping, and retry logic. Adoption appears concentrated in Chinese tech companies and Laravel-based applications. The library remains actively maintained but shows modest growth, suggesting stable rather than expanding user base.

Origin

Created March 2017 by overtrue, a prolific open-source contributor in the PHP ecosystem. The project emerged to solve fragmentation across Chinese SMS platforms, which typically have incompatible APIs and documentation. It gained early traction in Laravel communities and has maintained consistent updates over 9 years.

Growth

Repository shows 3,331 GitHub stars accumulated over 9 years with only 3 stars gained in the last 7 days (as of July 2026). This trajectory indicates early adoption and stabilization rather than recent acceleration. The modest star growth does not necessarily reflect usage volume — Composer download metrics would be more reliable but are not publicly disclosed here. Last push on 2026-05-07 indicates active maintenance, though the slow star accumulation suggests the user base is not rapidly expanding.

In production

Adoption not verified in this metadata. No explicit case studies, enterprise client lists, or production deployment stories appear in README. Presence of Laravel Notification integration note suggests some Laravel ecosystem adoption. Composer package listing (referenced in README badges) implies some download volume, but metrics are not disclosed here. The extensive provider list (35+) indicates effort to serve real market demand, but actual usage scale is not quantified.

Code analysis
Architecture

Based on README: gateway abstraction pattern with pluggable providers, configurable routing strategies (OrderStrategy mentioned), and unified return format wrapping multi-gateway results. Appears to use strategy pattern for failover logic. Likely supports both template-based (Aliyun style) and content-based (Yunpian style) SMS dispatch. Custom gateway extension mechanism is documented, suggesting modular design.

Tests

Scrutinizer CI badge present in README; code coverage metadata is displayed but specific percentage not shown in excerpt. Presence of CI integration suggests some automated testing, but depth and coverage ratio are not documented in README.

Maintenance

Last commit 2026-05-07 (56 days ago as of 2026-07-01) indicates active maintenance. Requires PHP 8.4+, showing attention to modern PHP versions. MIT license and documented Composer installation suggest production-ready stance. No evidence of deprecation or maintenance burden warnings. Fork count (564) and historical longevity (9 years) support ongoing viability, though low recent star velocity does not indicate rapid adoption expansion.

Honest verdict

ADOPT IF: you operate primarily in China, already use PHP/Laravel, and need to support multiple telecom providers simultaneously with automatic failover. The unified abstraction and extensive provider coverage are genuine productivity gains in that context. AVOID IF: you operate in non-Chinese markets, have a single preferred SMS provider, or can afford vendor lock-in — the abstraction layer adds complexity when you don't need it. MONITOR IF: you are evaluating long-term maintenance risk; the project is actively maintained but its modest growth trajectory and concentrated geographic/ecosystem focus may limit long-term feature investment.

Independent dimensions

Mainstream potential

3/10

Technical importance

6/10

Adoption evidence

4/10

Risks
  • Geographic lock-in: library is optimized for Chinese SMS ecosystem; providers, documentation, and community advice are China-centric, limiting utility outside that region
  • Ecosystem concentration: high dependency on Laravel adoption and PHP 8.4+ uptake; if Laravel declines or you migrate to Python/Node.js, this library loses relevance
  • Provider churn: SMS platforms frequently change APIs, pricing, or shut down; maintaining 35+ integrations requires ongoing triage; unmaintained provider integrations become technical debt
  • Adoption opacity: real-world usage cannot be verified from this metadata; slow recent star growth may reflect market saturation or declining PHP adoption in new projects
  • Maintenance bus factor: single primary author (overtrue) for a production-critical component; contributor base not documented; if author withdraws, community fork potential is uncertain
Prediction

Likely to remain a stable, niche utility for Chinese PHP/Laravel applications rather than expand broadly. May gradually decline if PHP loses market share in web services, or if Chinese SMS providers consolidate, reducing the number of providers worth supporting. Active maintenance will probably continue at current pace (steady, incremental updates) unless unmaintained provider APIs cause cascading failures.

0 found this helpful

Newsletter

Get analyses like this every Monday

Free weekly digest of the most interesting open-source discoveries.

Languages

PHP
100%

Information

Language
PHP
License
MIT
Last updated
2mo ago
Created
114mo ago
Analyzed with
anthropic/claude-haiku-4-5

Stars over time

Loading…

Contributors over time

Top 100 contributors only — repos with more will plateau at 100.

Loading…

Similar repos

dromara

dromara/SMS4J

SMS4J is a Java aggregation framework that simplifies integrating multiple SMS...

1.3k Java Dev Tools
pppscn

pppscn/SmsForwarder

SmsForwarder is an Android application that monitors SMS, calls, and app...

27k Kotlin Mobile
chenxuuu

chenxuuu/sms_forwarding

A low-cost hardware SMS forwarding device built on ESP32C3 and ML307R-DC...

1.4k C++ IoT
rememberber

rememberber/WePush

WePush is a specialized desktop application (Java Swing GUI) for batch message...

4.6k Java Productivity
vernu

vernu/textbee

textbee is an open-source SMS gateway that converts any Android phone into a...

2.9k TypeScript IoT
vs. alternatives
pppscn/SmsForwarder (26,809 stars, Kotlin)

SMS forwarding and gateway aggregator for Android; different use case (device-level vs. application-level) and language. Much higher star count but solves a distinct problem.

w7corp/easywechat (10,378 stars, PHP)

WeChat API wrapper by same ecosystem; more stars despite similar creation era, suggesting easier or broader problem domain. Both by active PHP OSS author, but WeChat integration has wider appeal outside China.

vernu/textbee (2,624 stars, TypeScript)

Multi-carrier SMS aggregation for broader markets (US, EU carriers). Higher abstraction level but language/platform difference limits direct comparison. Likely serves different geographic market.

capcom6/android-sms-gateway (4,978 stars, Kotlin)

Mobile-first SMS gateway; different architectural context (device vs. server-side). Solves related but distinct problem.