xenon / laravelbdsms
这是一个用于通过 Laravel 应用程序向孟加拉国手机号码发送短信的包
V1.0.63.0
2024-09-18 12:35 UTC
Requires
- php: ^8.1
- ext-curl: *
- ext-json: *
- guzzlehttp/guzzle: ^6.3|^7.3
- dev-master
- V1.0.63.0
- V1.0.62.0
- V1.0.61.0
- V1.0.60.3
- V1.0.60.2
- V1.0.60.1
- V1.0.60.0
- V1.0.59.3
- V1.0.59.2
- V1.0.59.1
- V1.0.59.0
- v1.0.58.1
- V1.0.58.0
- V1.0.57.2
- v1.0.57.1
- v1.0.57.0
- v1.0.56.0
- v1.0.56.0-alpha
- v1.0.55.0-alpha
- v1.0.54.0
- v1.0.53.0
- v1.0.52.0
- v1.0.52.0-beta
- v1.0.51.0
- v1.0.51.0-beta
- v1.0.50.5
- v1.0.50.4
- v1.0.50.3
- v1.0.50.2
- v1.0.50.1
- v1.0.50.0
- v1.0.49.3
- v1.0.49.2
- v1.0.49.1
- v1.0.49.0
- v1.0.48.1
- v1.0.47.2
- v1.0.47.0
- v1.0.46.2
- v1.0.46.1
- v1.0.46.0
- v1.0.45.5
- v1.0.45.3
- v1.0.45.2
- v1.0.45.1
- v1.0.45.0
- v1.0.44.3
- v1.0.44.2
- v1.0.44.1
- v1.0.44.0
- v1.0.43.0
- v1.0.42.1
- v1.0.42.0
- v1.0.41.5
- v1.0.41.2
- v1.0.41.1
- v1.0.41.0
- v1.0.41-beta
- v1.0.40.0
- v1.0.39.0
- v1.0.38.5
- v1.0.38.4
- v1.0.38.3
- v1.0.38.2
- v1.0.38.1
- v1.0.38.0
- v1.0.37.3
- v1.0.37.2
- v1.0.37.1
- v1.0.37.0
- v1.0.36.7
- v1.0.36.6
- v1.0.36.5
- v1.0.36.4
- v1.0.36.3
- v1.0.36.2
- v1.0.36.1
- v1.0.36
- v1.0.36-rc1
- v1.0.35-rc-2
- v1.0.35-rc1
- v1.0.34
- v1.0.33
- v1.0.32
- v1.0.31
- v1.0.31-beta
- v1.0.31-alpha
- v1.0.30
- v1.0.29
- v1.0.28
- v1.0.27
- v1.0.26
- v1.0.25
- v1.0.24
- v1.0.23
- v1.0.19
- v1.0.18
- v1.0.17
- v1.0.16
- v1.0.15
- v1.0.14
- v1.0.13
- v1.0.12
- v1.0.9
- v1.0.8
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- dev-dev
- dev-testing
- dev-quicksms-gateway
- dev-muthofun-sms-gateway
- dev-alpha_sms_fixing
- dev-feat-grameenphone-sms
- dev-trubosms_gateway
- dev-doc
- dev-SmsNOC_sms_gateway
- dev-SmsinBD_gateway
- dev-smsnet24-gateway
- dev-redmoit_sms_gateway
- dev-smartlabsms-gateway
- dev-patch-1
- dev-sms_queue
- dev-feature_logger
- dev-otp_verify
This package is auto-updated.
Last update: 2024-09-30 13:17:32 UTC
README
Xenon\LaravelBDSms 是一个用于通过多个网关将短信发送到孟加拉国手机号码的 Laravel 框架短信网关包。您可以在 YouTube 上查看安装过程。
安装
步骤 1
composer require xenon/laravelbdsms
步骤 2
使用命令发布包
php artisan vendor:publish --provider=Xenon\LaravelBDSms\LaravelBDSmsServiceProvider --tag="migrations"
php artisan vendor:publish --provider=Xenon\LaravelBDSms\LaravelBDSmsServiceProvider --tag="config"
php artisan migrate
步骤 3
步骤 4
php artisan config:cache && php artisan migrate
使用方法
简单使用外观
注意:要使用外观发送消息,您必须设置 .env 凭据并设置默认提供者;从 config/sms.php 内部查找不同提供者的 .env 凭据)
use Xenon\LaravelBDSms\Facades\SMS; SMS::shoot('017XXYYZZAA', 'helloooooooo boss!'); SMS::shoot(['017XXYYZZAA','018XXYYZZAA'], 'helloooooooo boss!');
或者,使用外观别名
use LaravelBDSms, SMS; LaravelBDSms::shoot('017XXYYZZAA', 'helloooooooo boss!'); SMS::shoot('017XXYYZZAA', 'helloooooooo boss!');
或者,如果您需要动态更改默认提供者
use Xenon\LaravelBDSms\Facades\SMS; use Xenon\LaravelBDSms\Provider\Ssl; $response = SMS::via(Ssl::class)->shoot('017XXYYZZAA', 'helloooooooo boss!');
或者,您可以使用队列发送消息。这个队列将被添加到您的作业表中。作业运行时,将发送消息。
确保您已启用 jobs 表和其他相关作业功能
use Xenon\LaravelBDSms\Facades\SMS; use Xenon\LaravelBDSms\Provider\Ssl; SMS::shootWithQueue("01XXXXXXXXX",'test sms'); SMS::via(Ssl::class)->shootWithQueue("01XXXXXXXXX",'test sms');
日志生成
您可以为每个短信 API 请求生成日志并将其保存到数据库或文件中。为此,请遵循以下要点
- Laravelbdsms 将日志存储在两个驱动程序中(
database, file
)。默认为database
。您可以从 config/sms.php 中更改它 - 查找并使
'sms_log' => true,
为真 - 确认您已完成 步骤-2 和 步骤-3
- 对于
database
驱动程序- 将日志驱动程序更改为
log_driver =>'database'
从config/sms.php
- 运行命令
php artisan migrate
。这将创建数据库中的lbs_log
表
- 将日志驱动程序更改为
- 对于
file
驱动程序- 将日志驱动程序更改为
log_driver =>'file'
从config/sms.php
- 将日志驱动程序更改为
否则,如果您想有更多控制权,您可以使用底层的发送者对象。这将不会触及任何 Laravel 外观或服务提供者。
示例代码
SSLCommerz
use Xenon\LaravelBDSms\Provider\Ssl; use Xenon\LaravelBDSms\Sender; $sender = Sender::getInstance(); $sender->setProvider(Ssl::class); //change this provider class according to need $sender->setMobile('017XXYYZZAA'); //$sender->setMobile(['017XXYYZZAA','018XXYYZZAA']); $sender->setMessage('helloooooooo boss!'); $sender->setQueue(true); //if you want to sent sms from queue $sender->setConfig( [ 'api_token' => 'api token goes here', 'sid' => 'text', 'csms_id' => 'sender_id' ] ); $status = $sender->send(); ----------Demo Response Using SSL------------- array:6 [▼ "status" => "response" "response" => "{"status":"FAILED","status_code":4003,"error_message":"IP Blacklisted"}" "provider" => "Xenon\LaravelBDSms\Provider\Ssl" "send_time" => "2021-07-06 08:03:23" "mobile" => "017XXYYZZAA" "message" => "helloooooooo boss!" ] --------------------------------------------------
使用自定义网关发送短信
我们已尽可能地将孟加拉国的所有网关添加到本包中。但是,如果您在此列表中找不到您期望的网关,则可以使用以下代码片段使用自定义网关。
use Xenon\LaravelBDSms\Provider\CustomGateway; use Xenon\LaravelBDSms\Sender; $sender = Sender::getInstance(); $sender->setProvider(CustomGateway::class); $sender->setUrl('https://your_cusom_gateway_provider_url_here') ->setMethod('post') ->setHeaders([ 'Content-Type: application/json', 'Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', ], false); $sender->setMobile('017XXYYZZAA'); $sender->setMessage('text message goes here'); $sender->setQueue(false); //use required parameters based on your sms gateway. This will be changed according to need $sender->setConfig( [ 'MsgType' => 'TEXT', 'masking' => 'sample', 'userName' => 'test_user', 'message' => 'test message', 'receiver' => '017xxxxxxxxxx', ] ); echo $status = $sender->send();
当前支持的短信网关
星级关注者
分支者
贡献者
我们正在持续为此开源库添加更多孟加拉国短信网关。如果您觉得缺少某些东西,请就此事创建一个问题。如果您想为此库做出贡献,那么您将非常欢迎这样做……
为了清晰的文档,请阅读 Medium 上的这篇文章,并且您还可以从此链接下载多个短信提供商的文档作为 PDF。
特别感谢
tusharkhan
tusher9352