[Open Source] SMS aggregation framework for easily integrating multiple SMS services and making SMS sending simpler
![[Open Source] SMS aggregation framework for easily integrating multiple SMS services and making SMS sending simpler](https://yy123.ink/api/img/1782608522044-a7pdkx.jpg)
1. Project Overview

sms4j -- Making SMS Sending Simpler
In everyday development, SMS sending is a frequently used feature, especially for small and medium-sized outsourcing companies. After all, not every company has the resources of Alibaba or Tencent, nor does every company have internal SMS procedures like banks and telecommunications providers. Third-party SMS services are often the most common solution. However, there are many third-party SMS providers on the market, each with its own methods and standards. Every time you need to use a service, you have to spend time reading documentation and writing the corresponding integration code. Too much time and effort is wasted on something as simple as sending an SMS. The purpose of this tool is to unify the SMS sending interfaces of different providers, making it possible to switch SMS providers simply by modifying the yml configuration file without changing the code.
2. Open Source License
Licensed under Apache-2.0
3. Screenshots


4. Feature Overview
Let simple things return to their simple essence. SMS4J is an SMS aggregation framework that helps you easily integrate multiple SMS services and eliminates the tedious process of integrating multiple SMS SDKs. It currently supports several commonly used SMS providers, with more integrations planned for the future.
Plug and Play
Extremely simple configuration and convenient usage. Get SMS sending up and running in just three minutes.
Simple and Elegant
Unifies the sending methods and features of different providers, eliminating the need to learn their individual implementation differences and making SMS integration as simple as possible.
Flexible Switching
Switch between different service providers immediately using only the configuration file. No more reading documentation or copying and pasting code. Sending SMS is as easy as a few clicks.
Rich Functions
Common SMS restrictions and rules are supported without requiring additional custom methods or modules. Simply enable the corresponding configuration. More features will be integrated in the future for greater convenience.
Seamless Switching
Switch SMS providers without modifying your code
Powerful Extensibility
Extend functionality with numerous plugins, making notifications hassle-free
Lightweight and Efficient
Minimal third-party dependencies. No need to introduce numerous SDKs, keeping your project lightweight
In addition, sms4j 3.0 supports more new features. The current features include:
-
Quick SMS Sending -
Configure SMS via yml -
Configure SMS via API Interfaces -
Automatic Retry on Failure -
SMS Interception -
Load Balancing -
Multiple Configurations for a Single Provider -
Bulk SMS Sending -
Scheduled SMS -
Asynchronous SMS -
Email Sending (supports attachments, HTML template emails, BCC, and CC) -
Email Monitoring (monitor incoming emails in a specified mailbox and process them accordingly) -
Provider-Level Sending Limit Control -
Global Blacklist -
OA Notifications
Source: Official sms4j Documentation
5. Tech Stack
Integration in a SpringBoot Environment
1. Create a Project
Create a new SpringBoot project in your IDE, for example: sms-demo-springboot
2. Add Dependencies
Add the following Maven dependency to your project:
For the latest version, please check the homepage
3. Configure the Configuration File
For details, please refer to the official sms4j documentation