umisms / laravel-sms
从您的 Laravel 应用程序发送短信
1.0.0
2022-01-27 21:05 UTC
Requires
- php: >=7.1
- guzzlehttp/guzzle: >=6.5.x-dev
Requires (Dev)
- orchestra/testbench: >=3.5.x-dev
- phpunit/phpunit: >=6.0
This package is not auto-updated.
Last update: 2024-09-20 10:12:27 UTC
README
Laravel SMS 允许您使用超过 10 个短信提供商之一,或者您自己的短信提供商,从您的 Laravel 应用程序发送短信。
要求
- PHP >=7.1
安装
步骤 1
您可以通过 composer 安装此包
composer require umisms/laravel-sms
Laravel 5.5 及以上版本
该包将自动注册自身,因此您可以立即开始使用它。
Laravel 5.4 及更早版本
在 Laravel 版本 5.4 及更早版本中,您需要手动在 config/app.php
文件中添加服务提供者
'providers' => [
// ...
Umisms\Sms\SmsServiceProvider::class,
];
Lumen
安装包后,您需要手动在 bootstrap/app.php
文件中注册它
// Register Service Providers
// ...
$app->register(Umisms\Sms\SmsServiceProvider::class);
];
环境键
SMS_SENDER=
BETASMS_USERNAME=
BETASMS_PASSWORD=
BULK_SMS_NIGERIA_TOKEN=
BULK_SMS_NIGERIA_DND=
GOLD_SMS_247_USERNAME=
GOLD_SMS_247_PASSWORD=
MULTITEXTER_USERNAME=
MULTITEXTER_PASSWORD=
SMART_SMS_TOKEN=
XWIRELESS_API_KEY=
XWIRELESS_CLIENT_ID=
NEXMO_API_KEY=
NEXMO_API_SECRET=
RING_CAPTCHA_APP_KEY=
RING_CAPTCHA_API_KEY=
RING_CAPTCHA_APP_SECRET=
AFRICASTALKING_API_KEY=
AFRICASTALKING_USERNAME=
NIGERIAN_BULK_SMS_USERNAME=
NIGERIAN_BULK_SMS_PASSWORD=
KUDI_SMS_USERNAME=
KUDI_SMS_PASSWORD=
MEBO_SMS_API_KEY=
SMSLIVE247_TOKEN=
INFOBIP_BASE_URL=
INFOBIP_USERNAME=
INFOBIP_PASSWORD=
步骤 2 - 发布文件
运行: php artisan vendor:publish --tag=laravel-sms
这会将迁移文件、种子文件和配置文件移动到您的应用程序中。您可以在配置文件或通过环境变量设置您的短信详情
步骤 3 - 添加短信凭据
- 将环境键添加到您的
.env
文件中 - 或编辑
config/laravel-sms.php
文件
用法
//using betaSMS
use Umisms\Sms\BetaSms;
$sms = new BetaSms();
$sms->text($message)->to(08135087966)->from('MyLaravel')->send();
//returns true if everything went fine. Or false if error occured.
//You can get exception via getException() or get the server response via getResponse()
//exceptions will be logged in your laravel log file
使用辅助函数
//MeboSms
$send = send_sms($message, $to, $from, MeboSms::class); //returns true/false
默认短信提供商是 Nexmo。您可以在 config/laravel-sms.php
中设置默认短信提供商,例如 'default' => \Umisms\Sms\Concrete\SmartSmsSolutions::class,
这样您就可以使用辅助函数,如下所示
$send = send_sms($message, $to);
//$from is optional and is better set in the config
可用的短信提供商
提供商 | URL | 已测试 |
---|---|---|
Nexmo | https://developer.nexmo.com/api/sms#send-an-sms|Yes | |
AfricasTalking | https://build.at-labs.io/docs/sms/sending|Yes| | |
BetaSms | https://login.betasms.com.ng/|Yes | |
MultiTexter | https://web.multitexter.com/MultiTexter_HTTP_SMS_API 2.0.pdf|Yes | |
BulkSmsNigeria | https://www.bulksmsnigeria.com/bulk-sms-api|Yes | |
GoldSms247 | https://goldsms247.com/index.php/api|Yes | |
KudiSms | https://kudisms.net/api/|Yes | |
Mebosms | http://mebosms.com/api-sms|Yes | |
NigerianBulkSms | https://nigeriabulksms.com/sms-gateway-api/|Yes | |
SmartSmsSolutions | https://docs.smartsmssolutions.com/docs/send-with-basic-route|Yes | |
RingCaptcha | https://my.ringcaptcha.com/docs/api|No | |
SmsLive247 | http://portal.smslive247.com/developer_api/http.aspx|No | |
XWireless | https://xwireless.net/cportal/knowledge-base/article/sms-3|No | |
InfoBip | https://dev.infobip.com/send-sms/single-sms-message|No |
创建自定义短信提供商
- 创建一个继承自
Umisms\Sms\Concrete\Sms
类的类 - 实现
send()
方法,该方法执行请求并返回布尔值 - (可选) 您可以将提供商密钥添加到
config/laravel-sms.php