numesia/all-my-sms

AllMySms 通知驱动程序

1.3.0 2024-07-29 13:22 UTC

This package is auto-updated.

Last update: 2024-09-29 13:43:32 UTC


README

Latest Version on Packagist Software License Build Status StyleCI Quality Score Code Coverage Total Downloads

此包使用AllMySms在Laravel 5.5+、6.x、7.x、8.x和9.x中发送通知变得简单。

内容

安装

您可以通过composer安装此包

composer require laravel-notification-channels/all-my-sms

设置AllMySms服务

将以下代码添加到您的config/services.php

// config/services.php
...
'all_my_sms' => [
    'uri' => env('ALL_MY_SMS_URI', 'https://api.allmysms.com/http/9.0'),
    'login' => env('ALL_MY_SMS_LOGIN'),
    'api_key' => env('ALL_MY_SMS_API_KEY'),
    'format' => env('ALL_MY_SMS_FORMAT', 'json'),
    'sender' => env('ALL_MY_SMS_SENDER'),
    'universal_to' => env('ALL_MY_SMS_UNIVERSAL_TO'),
],
...

用法

现在您可以在通知内的via()方法中使用该频道

use NotificationChannels\AllMySms\AllMySmsChannel;
use NotificationChannels\AllMySms\AllMySmsMessage;
use Illuminate\Notifications\Notification;

class ProjectCreated extends Notification
{
    public function via($notifiable)
    {
        return [AllMySmsChannel::class]; // or 'all_my_sms'
    }

    public function toAllMySms($notifiable)
    {
        return new AllMySmsMessage('Content');
    }
}

为了使您的通知知道使用哪个电话号码,将routeNotificationForAllMySms方法添加到您的可通知模型中。

此方法需要返回一个电话号码。

public function routeNotificationForAllMySms(Notification $notification)
{
    return $this->phone_number;
}

本地开发

当开发发送短信的应用程序时,您可能不想真的将短信发送到实际电话号码。您可以通过ALL_MY_SMS_UNIVERSAL_TO环境变量或universal_to选项设置所有短信的通用接收者。这可以通过ALL_MY_SMS_UNIVERSAL_TO环境变量或universal_to选项来完成。

可用消息方法

  • content(string $content):接受短信内容的字符串值。
  • sender(string $sender):接受发送者名称的字符串值。
  • campaign(string $campaign):接受短信活动名称的字符串值。
  • sendAt(\DateTimeInterface|string $sendAt):接受用于短信到期日期的DateTimeInterface或字符串。
  • parameters(array $parameters):接受用于短信参数的数组。

变更日志

有关最近更改的更多信息,请参阅CHANGELOG

测试

$ composer test

安全性

如果您发现任何安全问题,请通过mikael.popowicz@gmail.com而不是使用问题跟踪器发送电子邮件。

贡献

有关详细信息,请参阅CONTRIBUTING

致谢

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件