Newsletter System

Pro Feature — The newsletter system is available in the Pro and Agency tiers.

Unfold CMS includes a built-in newsletter subscription system with double opt-in support, subscriber management, and confirmation emails.

Overview

The newsletter system provides:

  • Subscription form — Embeddable on any page via template components
  • Double opt-in — Optional email confirmation before subscribing
  • Subscriber management — View, search, and manage subscribers in the admin panel
  • Unsubscribe — Signed unsubscribe links in every email
  • Spam protection — Honeypot and rate limiting on the subscription form

Configuration

Configure the newsletter in Settings > Newsletter in the admin panel.

Subscription Flow

Without Double Opt-In

  1. Visitor enters their email in the subscription form
  2. The subscriber is immediately added to the active list
  3. A welcome/confirmation message is displayed

With Double Opt-In (Default)

  1. Visitor enters their email in the subscription form
  2. A confirmation email is sent with a signed verification link
  3. The subscriber clicks the link to confirm
  4. The subscriber status changes from "pending" to "confirmed"

Double opt-in is enabled by default and is recommended for GDPR compliance and to reduce spam subscriptions.

Subscription Form

The newsletter form is typically included in the site footer or as a standalone section. In your template:

<form method="POST" action="{{ route('newsletter.subscribe') }}">
    @csrf
    @honeypot
    <input type="email" name="email" placeholder="Enter your email" required>
    <button type="submit">Subscribe</button>
</form>

The @honeypot directive adds invisible spam protection fields.

Validation

The subscription endpoint validates:

  • Valid email format
  • Email is not already subscribed
  • Honeypot fields are empty (spam check)
  • Rate limiting (prevents abuse)

Duplicate Handling

If a visitor submits an email that is already subscribed:

  • Active subscriber — Shown a message that they're already subscribed
  • Pending subscriber — The confirmation email is resent

Admin Panel

Subscriber Management

Navigate to Marketing > Newsletter in the admin panel to:

  • View all subscribers with their status
  • Search subscribers by email
  • View subscription dates
  • Delete individual subscribers
  • Export subscriber list

Subscriber Statuses

Status Description
Pending Awaiting email confirmation (double opt-in)
Confirmed Active subscriber
Unsubscribed Opted out via unsubscribe link

Unsubscribe

Every newsletter-related email includes a signed unsubscribe link. When clicked:

  1. The subscriber's status changes to "unsubscribed"
  2. A confirmation page is displayed
  3. The subscriber is removed from future mailings

Unsubscribe links use Laravel's signed URL feature, preventing unauthorized unsubscriptions.

Spam Protection

The newsletter form is protected by multiple layers:

Protection Description
Honeypot Invisible fields that trap automated bots
Rate Limiting Limits subscription attempts per IP
Email Validation Validates email format server-side
CSRF Token Prevents cross-site request forgery