News

Subscribable Notifications

Published
Subscribable Notifications image

Subscribable Notifications is a Laravel package by Peter Fox for adding unsubscribe links to notifications:

This package is designed to help you handle email unsubscribes with as little as 5 minutes setup. After installing your notifications sent over email should now be delivered with unsubscribe links in the footer and as a mail header which email clients can present to the user for quicker unsubscribing. It can also handle resolving the unsubscribing of the user through a signed route/controller.

This package works by implementing the CanUnsubscribe interface on the User model, along with an optional trait that fulfills the interface on your model. You can also write a custom implementation using the interface, for example:

public function unsubscribeLink(?string $mailingList = ''): string
{
return URL::signedRoute(
'sorry-to-see-you-go,
['subscriber' => $this, 'mailingList' => $mailingList],
now()->addDays(1);
);
}

You can also apply specific mailing lists to notifications using the AppliesToMailingList trait on the notifications on which you wish to support this feature. Using this feature provides two links at the bottom of email notifications: one for unsubscribing from all emails and another for only unsubscribing from a specific type of notification.

This package provides a lot of customization options both in the logic of unsubscribing as well as the templates. You can learn more about this package, get full installation instructions, and view the source code on GitHub at ylsideas/subscribable-notifications.

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Filed in

Sponsored

masteringlaravel logo
Laravel Code Review

Get expert guidance in a few days with a Laravel code review

Visit Laravel Code Review

The latest

View all →
CPX: The Composer Package Executor for PHP image

CPX: The Composer Package Executor for PHP

Read article
Laravel AI SDK Adds Human-in-the-Loop Tool Approval image

Laravel AI SDK Adds Human-in-the-Loop Tool Approval

Read article
Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals image

Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals

Read article
Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs image

Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs

Read article
Blade Formatting in Laravel Pint image

Blade Formatting in Laravel Pint

Read article
Inertia DevTools Is Now on the Chrome Web Store image

Inertia DevTools Is Now on the Chrome Web Store

Read article