canerdogan/aws-laravel-notification

使用AWS SNS服务发送短信

1.0.4 2017-12-18 09:43 UTC

This package is auto-updated.

Last update: 2024-08-29 04:33:44 UTC


README

通过AWS SNS发送短信。

内容

安装

您可以通过composer安装此包

composer require peec/aws-laravel-notification

您必须安装服务提供者

// config/app.php
'providers' => [
    ...
    NotificationChannels\AWS\AWSSMSServiceProvider::class,
],

设置AWSSMS服务

将以下内容添加到您的config/services.php

// config/services.php
...
'awssms' => [
    'key' => env('AWSSMS_KEY'),
    'secret' => env('AWSSMS_SECRET'),
    'region' => env('AWSSMS_REGION'),
    'from' => env('AWSSMS_FROM'), // optional
    'max_price_usd' => '0.50' // Max price, sms wont send if price of the sms is more then this.
],
...

用法

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

use NotificationChannels\AWS\AWSSMSChannel;
use NotificationChannels\AWS\AWSSMSMessage;
use Illuminate\Notifications\Notification;

class AccountApproved extends Notification
{
    public function via($notifiable)
    {
        return [AWSSMSChannel::class];
    }

    public function toAwsSms($notifiable)
    {
        return (new AWSSMSMessage())
            ->content("Your {$notifiable->service} account was approved!");
    }
}

为了使通知知道您要发送/呼叫的电话号码,该通道将查找可通知模型中的phone_number属性。如果您想覆盖此行为,将routeNotificationForAws方法添加到您的可通知模型中。

public function routeNotificationForAws()
{
    return '+1234567890';
}

可用方法

  • from(''):接受一个电话作为通知发送者。
  • content(''):接受一个字符串值作为通知正文。
  • type('Transactional'):交易型或促销型。请参阅AWS文档中的SNS短信。这些的价格不同。

变更日志

有关最近更改的更多信息,请参阅变更日志

测试

$ composer test

安全

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

贡献

有关详细信息,请参阅贡献指南

致谢

许可

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