djunehor/laravel-sms

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

2.2.0 2021-03-04 17:17 UTC

This package is auto-updated.

Last update: 2024-09-05 00:46:51 UTC


README

CircleCI Latest Stable Version Total Downloads License StyleCI Build Status Scrutinizer Code Quality Code Coverage

Laravel SMS 允许您使用超过10个短信服务提供商之一或您自己的短信服务提供商从您的 Laravel 应用程序发送短信。

要求

  • PHP >=7.1

安装

步骤 1

您可以通过 composer 安装此包

composer require djunehor/laravel-sms

Laravel 5.5 及以上版本

该包将自动注册自身,因此您可以立即开始使用它。

Laravel 5.4 及更早版本

在 Laravel 版本 5.4 及更早版本中,您必须手动在 config/app.php 文件中添加服务提供者

'providers' => [
    // ...
    Djunehor\Sms\SmsServiceProvider::class,
];

Lumen

安装包后,您必须手动在 bootstrap/app.php 文件中注册它

// Register Service Providers
    // ...
    $app->register(Djunehor\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 这会将迁移文件、种子文件和配置文件移动到您的应用中。您可以在配置文件或通过 env 设置您的短信详情

步骤 3 - 添加短信凭证

  • 将环境变量键添加到您的 .env 文件中
  • 或编辑 config/laravel-sms.php 文件

使用方法

//using betaSMS
use Djunehor\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' => \Djunehor\Sms\Concrete\SmartSmsSolutions::class,,然后您可以使用辅助函数如下

$send = send_sms($message, $to);
//$from is optional and is better set in the config

可用的短信服务提供商

注意:对于 smartSmsSolutions,在使用之前您必须在平台上对发送者进行白名单注册,否则 smartsms 在发送时会自动更改您的 senderId - #6

创建自定义短信服务提供商

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

贡献

  • 分支此项目
  • 克隆您的分支仓库
  • 进行更改并运行测试 composer test
  • 推送并创建 Pull Request
  • 确保您的 PR 通过所有检查