1. Go to this page and download the library: Download codewiser/postie library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
codewiser / postie example snippets
'table' => env('POSTIE_TABLE', 'subscriptions'),
use Codewiser\Postie\Subscription;
use Codewiser\Postie\PostieApplicationServiceProvider;
class PostieServiceProvider extends PostieApplicationServiceProvider
{
public function notifications(): array
{
return [
Subscription::to(NewOrderNotification::class)
->via('mail', 'database')
->for(fn() => User::query()->where('role', 'sales-manager'))
];
}
namespace App\Notifications;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Notification;
use Codewiser\Postie\Notifications\Traits\Channelization;
class NewOrderNotification extends Notification implements ShouldQueue
{
use Queueable, Channelization;
public function __construct(public Order $order)
{
//
}
public function toMail($notifiable)
{
return (new MailMessage)
->subject("New order")
->line('User makes new order.');
}
public function toArray($notifiable)
{
return $this->order->toArray();
}
}
use Codewiser\Postie\Subscription;
Subscription::to(Notification::class)
->via('mail')
->for(fn() => User::query())
use Codewiser\Postie\Subscription;
Subscription::to(DailyNewsNotification::class)
->via('mail')
->for(fn() => User::query())
->title('Daily News Notification')
->description('Sends most interesting news digest')
use Codewiser\Postie\Channel;
use Codewiser\Postie\Subscription;
$mail = Channel::via('mail')
->icon('envelope')
->title('via email')
->subtitle('Sends emails');
Subscription::to(DailyNewsNotification::class)
->via($mail);
use Codewiser\Postie\Channel;
$mail = Channel::via('mail')->passive();
use Codewiser\Postie\Channel;
$mail = Channel::via('database')->hidden();
use Codewiser\Postie\Channel;
$mail = Channel::via('mail')->active()->forced();
use Codewiser\Postie\Group;
use Codewiser\Postie\Subscription;
Group::make('My group')
->icon('broadcast')
->via('mail', 'database')
->for(fn() => User::query())
->add(Subscription::to(DailyNewsNotification::class)
->add(Subscription::to(NewOrderNotification::class)