![Logo](assets/logo.png)
Turns your smartphone into an SMS gateway for sending messages via API.
Explore the docs »
Report Bug
·
Request Feature
Android SMS Gateway turns your Android smartphone into an SMS gateway. It's a lightweight application allowing you to send SMS messages programmatically via API. This makes it ideal for integrating SMS functionality into your own applications or services.
- No registration: No registration or email is required to create an account. In local mode you don't need an account at all!
- Send SMS by API: Use our API to send messages directly from your own applications or services.
- Supports Android 5.0 and above: The application is compatible with Android 5.0 and later versions.
- Message status tracking: Monitor the status of your sent messages in real-time.
- Starts at boot: The application starts running as soon as your device boots up.
- Multiple SIM cards: The application supports multiple SIM cards.
- Multipart messages: The application supports sending long messages with auto-partitioning.
- Notifications
- Alerts
- Two-factor authentication codes
Android SMS Gateway provides a convenient and reliable solution, whether you need to send notifications, alerts, or two-factor authentication codes.
You can install app to your device from prebuilt APK or by building from sources.
You need an Android device with Android 5.0 (Lollipop) or above for using the application.
To use the application, you need to grant the following permissions:
- SEND_SMS: This permission is required to send SMS messages.
- READ_PHONE_STATE: This permission is required to select the SIM card. Optional, if you don't want to select the SIM card.
- Navigate to the Releases page.
- Download the latest APK file from the list of available releases.
- Transfer the APK file to your Android device.
- On your Android device, go to Settings > Security (or Privacy on some devices).
- Enable the Unknown sources option to allow installation of apps from sources other than the Play Store.
- Use a file manager app to navigate to the location of the downloaded APK file.
- Tap on the APK file to start the installation process.
- Follow the on-screen prompts to complete the installation.
The Android SMS Gateway can work in two modes: with a local server started on the device or with a cloud server at sms.capcom.me. The basic API is the same for both modes and is documented on the Android SMS Gateway API Documentation.
This mode is recommended for sending messages from local network.
-
Start the app on the device.
-
Activate the
Local server
switch. -
Tap the
Offline
button at the bottom of the screen. -
In the
Local server
section, the local and public addresses of the device, along with the credentials for basic authentication, will be displayed. Please note that the public address is only usable if you have a "white" IP address and have correctly configured your firewall. -
Make a
curl
call from the local network using a command like the following, replacing<username>
,<password>
, and<device_local_ip>
with the values obtained in step 4:curl -X POST -u <username>:<password> -H "Content-Type: application/json" -d '{ "message": "Hello, world!", "phoneNumbers": ["79990001234", "79995556677"] }' http://<device_local_ip>:8080/message
If you need to send messages with dynamic or shared device IP, you can use the cloud server. The best part? No registration, email, or phone number is required to start using it.
-
Start the app on the device.
-
Activate the
Cloud server
switch. -
Tap the
Offline
button at the bottom of the screen. -
In the
Cloud server
section, the credentials for basic authentication will be displayed. -
Make a curl call using a command like the following, replacing
<username>
and<password>
with the values obtained in step 4:curl -X POST -u <username>:<password> -H "Content-Type: application/json" -d '{ "message": "Hello, world!", "phoneNumbers": ["79990001234", "79995556677"] }' https://sms.capcom.me/api/3rdparty/v1/message
- Add functionality to modify user credentials.
- Introduce option to adjust the local server port.
- Send notifications to an external server when the status of a message changes.
- Incorporate scheduling capabilities for dispatching messages at specific times.
- Implement region-based restrictions to prevent international SMS.
- Provide an API endpoint to retrieve the list of available SIM cards on the device.
- Include detailed error messages in responses and logs.
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the Apache-2.0 license. See LICENSE for more information.
Project Link: https://github.com/capcom6/android-sms-gateway