umisms/laravel-sms

从您的 Laravel 应用程序发送短信

1.0.0 2022-01-27 21:05 UTC

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已测试
Nexmohttps://developer.nexmo.com/api/sms#send-an-sms|Yes
AfricasTalkinghttps://build.at-labs.io/docs/sms/sending|Yes|
BetaSmshttps://login.betasms.com.ng/|Yes
MultiTexterhttps://web.multitexter.com/MultiTexter_HTTP_SMS_API 2.0.pdf|Yes
BulkSmsNigeriahttps://www.bulksmsnigeria.com/bulk-sms-api|Yes
GoldSms247https://goldsms247.com/index.php/api|Yes
KudiSmshttps://kudisms.net/api/|Yes
Mebosmshttp://mebosms.com/api-sms|Yes
NigerianBulkSmshttps://nigeriabulksms.com/sms-gateway-api/|Yes
SmartSmsSolutionshttps://docs.smartsmssolutions.com/docs/send-with-basic-route|Yes
RingCaptchahttps://my.ringcaptcha.com/docs/api|No
SmsLive247http://portal.smslive247.com/developer_api/http.aspx|No
XWirelesshttps://xwireless.net/cportal/knowledge-base/article/sms-3|No
InfoBiphttps://dev.infobip.com/send-sms/single-sms-message|No

创建自定义短信提供商

  • 创建一个继承自 Umisms\Sms\Concrete\Sms 类的类
  • 实现 send() 方法,该方法执行请求并返回布尔值
  • (可选) 您可以将提供商密钥添加到 config/laravel-sms.php