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
- Visitor enters their email in the subscription form
- The subscriber is immediately added to the active list
- A welcome/confirmation message is displayed
With Double Opt-In (Default)
- Visitor enters their email in the subscription form
- A confirmation email is sent with a signed verification link
- The subscriber clicks the link to confirm
- 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:
- The subscriber's status changes to "unsubscribed"
- A confirmation page is displayed
- 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 |
Related
- Contact Form — Contact form with similar spam protection
- Configuration — Newsletter settings reference