macellan/twilio

Laravel 的 Twilio 短信通知通道

v1.1.0 2024-03-12 20:49 UTC

This package is auto-updated.

Last update: 2024-09-12 22:26:12 UTC


README

Tests Latest Stable Version Total Downloads

此包简化了使用 Twilio 通过 Laravel 8.x、9.x、10.x 发送短信通知的过程

内容

安装

您可以通过 composer 安装此包

composer require macellan/twilio

设置 Twilio 服务

将您的 Twilio 配置添加到 config/services.php

// config/services.php
...
    'sms' => [
        'twilio' => [
            'account_sid' => env('TWILIO_ACCOUNT_SID', ''),
            'auth_token' => env('TWILIO_AUTH_TOKEN', ''),
            'from' => env('TWILIO_FROM', ''),
            'enable' => env('TWILIO_ENABLE', false),
            'debug' => env('TWILIO_DEBUG', false), // Will log sending attempts and results
            'sandbox_mode' => env('TWILIO_SANDBOX_MODE', false), // Will not invoke API call
        ],
    ],
...

用法

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

use Illuminate\Notifications\Notification;
use Macellan\Twilio\TwilioSmsMessage;

class TestNotification extends Notification
{
    public function via($notifiable)
    {
        return ['twilio'];
    }

    public function toTwilio(object $notifiable): TwilioSmsMessage
    {
        return new TwilioSmsMessage('Twilio test message');
    }
}

在您的可通知模型中,请确保包含一个 routeNotificationForSms() 方法,该方法返回一个电话号码。

public function routeNotificationForSms()
{
    return $this->phone;
}

按需通知

有时您可能需要向不是您应用“用户”的人发送通知。使用 Notification::route 方法,您可以在发送通知之前指定临时的通知路由信息

Notification::route('sms', '+905554443322')  
            ->notify(new TestNotification());

测试

composer test

变更日志

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

致谢