Collect email and SMS subscribers, organize them into segments, compose campaigns, and send targeted communications: all from within your LaraClassifier / JobClass admin panel.
Subscriber Management
Collect subscribers via front-end forms, CSV import, or manual entry. Track status, source, and segment membership.
Double Opt-In
Optional email confirmation flow ensures valid addresses. Subscribers receive a confirmation link before being activated.
Segments
Group subscribers into targeted segments. Forms can add subscribers to chosen segments, and default segments auto-assign.
Email & SMS Campaigns
Compose translatable campaigns, target specific segments, and send via email or SMS (Vonage/Twilio). Every delivery is logged per subscriber.
Import & Export
Import subscribers from CSV, JSON, XML or tab-separated files, and export your whole list in the same formats at any time.
Welcome Emails
Configurable welcome email with translatable subject and content, sent automatically to newly confirmed subscribers.
Use Cases
Portfolio Site with Updates
You run a portfolio site and want to keep clients informed about new projects and services.
- Add a subscription form to your footer or a dedicated page section.
- Create segments like “Clients” and “Prospects” to send targeted updates.
- Compose campaigns announcing new projects or services and send to all or specific segments.
SaaS Product with Launch List
You are building a product and want to collect early-access signups.
- Enable double opt-in to ensure valid email addresses.
- Create a “Beta Waitlist” segment and mark it as default.
- When ready to launch, compose a campaign targeting the waitlist segment.
Multi-Topic Blog Newsletter
Your blog covers multiple topics and readers want to subscribe only to what interests them.
- Create public segments for each topic (e.g. “Tech”, “Design”, “Business”).
- Visitors choose their interests via checkboxes on the subscription form.
- Send topic-specific campaigns to the relevant segments only.
SMS Alerts for Local Business
You run a local business and want to send SMS promotions to customers.
- Collect phone numbers through the subscription form (phone field).
- Create SMS campaigns with plain-text content (HTML is auto-stripped).
- Send via Vonage or Twilio depending on your configured SMS driver.
Requirements
- LaraClassifier / JobClass v19.0.0 or later
- PHP 8.3+
- Working site mail settings (Admin panel → Configuration → Settings → Mail), for campaigns and confirmation emails
- The site cron job running the Laravel scheduler every minute (
* * * * * php /path/to/your/site/artisan schedule:run), for scheduled campaigns and the automatic clean-up of unconfirmed subscriptions - Optional: a Vonage or Twilio account (for SMS campaigns)
Installation
Step 1: Upload the add-on
Go to Admin panel → Extensions → Add-ons, click Upload add-on and drop the add-on's .zip file into the upload area (50 MB maximum).
The archive is extracted into extensions/addons/newsletter/ and Newsletter Platform appears in the list, deactivated.
extensions/addons/newsletter/ over FTP or SSH: its addon.json file must sit directly inside that folder.
Then open Admin panel → Extensions → Add-ons. The page scans extensions/addons/ every time it loads, so the add-on is listed straight away (the Sync button runs the same scan on demand).
Step 2: Activate the add-on
Click Activate on the Newsletter Platform card. It is a paid add-on, so a dialog asks for its purchase code, which is verified before anything else happens: an invalid code is rejected in the dialog and nothing is changed.
Once the code is accepted, activation runs in one pass: it creates the add-on's database tables (its migrations), registers its permissions, runs its seeders and publishes its public assets. Reload the page to see its new entry in the Add-ons section of the admin sidebar.
Step 3: Configure
Open Admin panel → Newsletter from the Add-ons section of the sidebar and set the add-on up: see Configuration.
Purchase Code (License Key)
Newsletter Platform is sold as a separate product, so it has its own purchase code (license key), distinct from the purchase code of the main application and from the one of every other add-on. You are asked for it when you activate Newsletter Platform in Admin panel → Extensions → Add-ons.
Our products are sold on three platforms. The way you receive a purchase code depends on where you bought the product.
| Platform / Marketplace | How you get the purchase code | Where to find it again |
|---|---|---|
| bedigit.com Store In-site purchase (Shop) |
Generated automatically when the order is paid, then sent by email, either in its own license email, or inside the order confirmation email. | My Account → My Licenses on bedigit.com |
| Gumroad | Created as soon as Gumroad notifies us of the sale, then sent in a separate email, in addition to the Gumroad receipt. | The license email, your Gumroad Library, and My Account → My Licenses on bedigit.com |
| Envato Market CodeCanyon |
Issued by Envato, not by us, and never sent by email: you download it yourself from your Envato account. | Envato account → Downloads → License certificate & purchase code |
1. bedigit.com Store (in-site purchase)
- As soon as the order’s payment status becomes Paid, a license key is generated automatically for every licensed item in the order (one key per purchased unit: buying 3 units gives 3 distinct keys).
- It is emailed to the address used on the order, either in a dedicated license email or inside the order confirmation email. Check your inbox and your spam / junk folder.
- The key stays available in your account under My Account → My Licenses. Keys are masked in the list; open the license detail page to reveal and copy the full key, see the domains it is activated on, and deactivate a domain to free an activation slot.
- The matching invoice is under My Account → My Orders.
2. Gumroad
- A Gumroad purchase produces two separate emails: the Gumroad receipt (sent by Gumroad, giving access to the files) and a license key email (sent by bedigit.com) that contains your purchase code.
- The license key email is generated as soon as Gumroad notifies us of the sale, so it normally arrives within seconds of the payment. Here too, check your inbox and your spam / junk folder.
- When the Gumroad product uses Gumroad’s own license-key feature, the same key also appears in your Gumroad receipt and under Library → your purchase on gumroad.com.
- Use the same email address on bedigit.com as on Gumroad: your keys are then linked to your account automatically and listed under My Account → My Licenses, even if you register after the purchase. You can also add a Gumroad key manually from My Account → My Gumroad Licenses.
3. Envato Market (CodeCanyon)
- Envato purchase codes are issued and delivered by Envato Market, never emailed by us, so there is nothing to look for in your spam folder: you retrieve the code from your Envato account.
- Log in to your Envato / CodeCanyon account, open the Downloads page, find the item, and choose License certificate & purchase code from the Download dropdown. The code is written in that certificate.
- An Envato purchase code looks like
12345678-90ab-cdef-1234-567890abcdef(8-4-4-4-12 characters). It never changes, and renewing item support does not issue a new one. - Official Envato article: Where Is My Purchase Code?
Configuration
Settings are managed in Admin panel → Newsletter → Settings (in the Add-ons section of the sidebar)
and saved in the settings table under the keys below. A key that was never saved falls back to the default
from the add-on's config/newsletter.php file.
| Setting | Description | Default |
|---|---|---|
newsletter_double_opt_in |
When enabled, subscribers must confirm their email address via a confirmation link before being added to the list. | true |
newsletter_auto_delete_unconfirmed |
Only with double opt-in. Automatically delete pending subscriptions whose email address was never confirmed. The clean-up runs daily through the Laravel scheduler (newsletter:purge-unconfirmed command), so the site cron job must be set up. |
false |
newsletter_auto_delete_unconfirmed_days |
Number of days an unconfirmed subscription is kept before it is deleted (1–3650). | 30 |
newsletter_from_name |
The name displayed in the “From” field of newsletter emails. Required. | NEWSLETTER_FROM_NAME, else APP_NAME |
newsletter_from_email |
The email address used in the “From” field of newsletter emails. Required. | NEWSLETTER_FROM_EMAIL, else MAIL_FROM_ADDRESS |
newsletter_reply_to |
The email address where replies to campaign emails will be sent. Leave empty to use the From email. | NEWSLETTER_REPLY_TO, else (empty) |
newsletter_welcome_subject |
Subject line for the welcome email (translatable, per-locale, max 255 characters). The welcome email is only sent when both the subject and the content are filled in. | (empty) |
newsletter_welcome_content |
Body content of the welcome email (translatable, per-locale, max 5000 characters). Leave empty to disable the welcome email. | (empty) |
Environment Variables
| Variable | Used for |
|---|---|
NEWSLETTER_FROM_NAME |
Default of newsletter_from_name (falls back to APP_NAME) |
NEWSLETTER_FROM_EMAIL |
Default of newsletter_from_email (falls back to MAIL_FROM_ADDRESS) |
NEWSLETTER_REPLY_TO |
Default of newsletter_reply_to |
config/newsletter.php. Settings saved in the admin panel (stored in the database)
override them at boot time via the service provider.
Admin: Settings
The settings page (Admin panel → Newsletter → Settings) is organized into three tabs:
Opt-in Settings
- Double Opt-In: Toggle switch. When enabled, new subscribers receive a confirmation email and remain in “pending” status until they click the confirmation link.
- Auto-delete unconfirmed subscriptions (shown when Double Opt-In is on): delete pending subscriptions that were never confirmed, once a day through the Laravel scheduler.
- Delete after: number of days an unconfirmed subscription is kept (1–3650, default 30).
- Delete unconfirmed now: runs the clean-up immediately with the number of days entered, without waiting for the daily schedule.
A note on this tab reminds you that subscription and campaign emails are sent with the site mail settings.
Email Settings
- From Name: The sender name for all newsletter emails (required).
- From Email: The sender email address (required).
- Reply-To Email: Where replies to campaigns go. Leave empty to use the From email.
Welcome Email
- Welcome Email Subject: Translatable text input (one per language). Set the subject line of the welcome email sent to new subscribers once they are confirmed.
- Welcome Email Content: Translatable textarea. The body of the welcome email. Leave it empty to disable the welcome email: it is only sent when both the subject and the content are filled in.
Admin: Subscribers
The Subscribers page (Newsletter → Subscribers) is the main subscriber management view.
Statistics Dashboard
A row of stat cards at the top shows:
- Total Subscribers: all records in the table
- Confirmed: active, confirmed subscribers
- Pending: awaiting email confirmation
- Unsubscribed: opted out
- New This Month: subscribers created in the current calendar month
Subscribers List
A paginated table (20 per page) with filters:
- Status filter: dropdown to show All, Pending, Confirmed, or Unsubscribed
- Segment filter: dropdown to filter by segment membership
Each row shows: email, name, phone, status badge, source badge, segment tags, subscribed date, and a delete action.
Adding a Subscriber
Click Add Subscriber to open the creation form:
- Email: required, must be unique in the subscribers table
- Phone: optional, for SMS campaigns
- Name: optional
- Status: select: Pending, Confirmed, or Unsubscribed
- Segments: multi-select of active segments
Manually added subscribers have source = 'manual'. If set to “Confirmed”,
their confirmed_at and subscribed_at timestamps are set immediately.
Import & Export
Import
Click Import and choose a file, its format and an import mode:
- Format: CSV, JSON, XML or tab-separated text (
.txt). Maximum file size: 10 MB. - Columns:
email(required),phone,name,status(confirmed,pendingorunsubscribed),sourceandsubscribed_at. Exporting a file first gives you the exact layout. - Import mode: Create only adds new records and skips existing ones, Update only updates existing records (matched by email) and skips new ones, Create & Update does both.
New subscribers default to status = 'confirmed' and source = 'import' when those columns are empty.
After import, a summary shows how many records were created, updated and skipped, with the row errors.
Export
Click Export and pick a format (CSV, JSON, XML or tab-separated) to download all subscribers, whatever their status. The export includes the email, phone, name, status, source and subscribed-at columns.
Admin: Segments
Segments (Newsletter → Segments) let you group subscribers into targeted lists.
Segments List
A paginated table showing each segment with:
- Color swatch: visual identifier
- Name (translatable)
- Description (translatable)
- Active subscribers count
- Flags: Public, Default, Active badges
- Position: sort order
Create & Edit
The segment form includes:
- Name: translatable, required in the default language
- Description: translatable, optional
- Color: hex color picker (validated as
#RRGGBB) - Public: marks the segment as one visitors may join. The built-in homepage Newsletter section does not show segment choices: it adds its subscribers to the segments selected in the section's own settings
- Default: new subscribers are automatically added to default segments, regardless of their form selection
- Active: inactive segments are excluded from campaign targeting and front-end forms
- Position: integer for display ordering
Admin: Campaigns
Campaigns (Newsletter → Campaigns) are the email or SMS messages you send to subscribers.
Campaigns List
A paginated table (20 per page) with an optional status filter showing:
- Subject
- Channel: Email or SMS badge
- Status badge: Draft, Scheduled, Sending, Sent, or Failed
- Segments: target segment names, or “All subscribers”
- Recipients / Opens / Clicks: delivery statistics
- Author
- Created date
Composing a Campaign
Click New Campaign to open the compose form:
- Sending Mode: toggle between Email and SMS
- Subject: translatable text input (required for email in default locale, optional for SMS)
- Content: translatable rich text editor (required in default locale). For SMS mode, HTML is automatically stripped when saving.
- Target Segments: multi-select of active segments. If none are selected, the campaign sends to all active subscribers.
- Scheduled At: optional date and time at which the campaign is sent automatically. Leave it empty to keep the campaign as a draft and send it yourself.
newsletter:send-scheduled command in the
Laravel scheduler, which runs it every minute to send the scheduled campaigns whose date has been reached. The site
cron job must therefore be set up (see Requirements); without it, scheduled campaigns stay
in scheduled status. You can also send a draft or scheduled campaign at any time with Send Now.
A campaign saved without a date is a draft; with a date, it becomes scheduled, and clearing
the date turns it back into a draft. The active subscriber count is displayed to indicate how many recipients
will receive the campaign.
Editing Campaigns
Only campaigns in draft or scheduled status can be edited.
Once a campaign enters sending or sent status, it becomes read-only
and displays as a detail view with delivery statistics.
Sending a Campaign
When you click Send Now, or when the scheduler picks up a scheduled campaign whose date has been reached, the following process occurs:
- The campaign status changes to
sending. This change is atomic: a campaign that is already being sent (or has been sent) is never sent a second time, even after a double click or overlapping scheduler runs. - Target subscribers are resolved based on assigned segments (or all active subscribers if no segments).
- A
newsletter_campaign_logsrecord is created for each subscriber (inserted in batches). - Each log entry is processed: the subscriber receives a Laravel Notification
(email via
MailMessageor SMS via Vonage/Twilio channel). - Successful deliveries are marked as
sent; failures are logged with the error message. - The campaign status updates to
sentwith the finalrecipients_count.
SMS Campaign Mode
When the sending mode is set to SMS:
- The subject field becomes optional (SMS messages have no subject line).
- HTML content is automatically stripped from all locale translations when the campaign is saved.
- Content is truncated to 1600 characters (10 SMS parts) when sent.
- The notification routes through the Vonage or Twilio channel, depending on the SMS driver selected in Admin panel → Configuration → Settings → SMS. With no SMS driver selected, SMS campaigns are not delivered.
- Only subscribers with a phone number receive SMS campaigns; those without are skipped with an error.
Front-end: Subscribe Form
The ready-made subscription form is the Newsletter homepage section: add it in Admin panel → Configuration → Homepage, where you can set its texts per language, ask for the name and/or phone number, and pick the segments its subscribers join. The form submits via AJAX and gets a JSON response; a theme can also post its own form to the same endpoint.
/newsletter/subscribe
Request Body
email |
Required (without phone) | Valid email address, max 255 characters |
phone |
Required (without email) | Phone number for SMS, max 20 characters |
name |
Optional | Subscriber name, max 255 characters |
segment_ids[] |
Optional | Array of segment IDs (must exist in newsletter_segments) |
consent |
Required when the GDPR add-on is active | Must be accepted |
Response (JSON)
200 |
{"success": true, "message": "…"} |
Subscribed, or confirmation email sent (double opt-in) |
422 |
{"success": false, "message": "…", "errors": {…}} |
Validation failed; errors lists the rejected fields |
429 |
{"success": false, "message": "Too many subscription attempts. Please try again in 60 seconds."} |
Rate limit reached (see below); the Retry-After header gives the wait in seconds |
Rate limiting: each IP address can make up to 5 subscription attempts per minute (the
rate_limit value in the add-on’s config/newsletter.php file). Further attempts are
rejected until the minute is over: AJAX requests receive the 429 response above, and a regular
(non-AJAX) form post is redirected back to the previous page with the same error message.
Front-end: Email Confirmation
When double opt-in is enabled, subscribers receive an email with a confirmation link.
/newsletter/confirm/{token}
Description
Confirms a subscriber’s email address using their unique 64-character token.
On success, the subscriber’s status changes to confirmed and their
confirmed_at and subscribed_at timestamps are set.
A welcome email is sent if configured.
Renders a themed confirmation page (theme::newsletter.confirm if available,
otherwise falls back to newsletter::front.confirm).
Front-end: Unsubscribe
/newsletter/unsubscribe/{token}
Description
Unsubscribes a subscriber using their unique token. Sets the subscriber’s status
to unsubscribed and records the unsubscribed_at timestamp.
Renders a themed unsubscribe page (theme::newsletter.unsubscribe if available,
otherwise falls back to newsletter::front.unsubscribe).
Unsubscribe links are included in campaign emails automatically via the campaign email template.
Subscription Flow
With Double Opt-In Enabled (Default)
- Visitor submits the subscription form with their email (and optionally name, phone, segments).
- A subscriber record is created with
status = 'pending'. - A confirmation email is sent with a unique token link.
- Visitor clicks the confirmation link.
- Subscriber status changes to
confirmed. - A welcome email is sent (if subject and content are configured in settings).
- The subscriber is now eligible to receive campaigns.
Without Double Opt-In
- Visitor submits the subscription form.
- A subscriber record is created with
status = 'confirmed'immediately. - A welcome email is sent (if configured).
- The subscriber is immediately eligible to receive campaigns.
Re-subscription
If a previously unsubscribed email submits the form again:
- The existing record is found and its status is reset to
pending. - A new token is generated and a confirmation email is sent (if double opt-in is enabled).
- The
unsubscribed_attimestamp is cleared.
Segment Assignment
When a subscriber is created or re-subscribed:
- All default segments (segments with
is_default = true) are automatically assigned. - Any segment IDs submitted via the form are also assigned.
- Both are merged and applied using
syncWithoutDetaching, so existing memberships are preserved.
Confirmation Email
The SubscriptionConfirmationNotification sends a Markdown email using
the newsletter::emails.subscription-confirmation template.
- Subject: “Confirm your subscription to {site_name}” (translatable)
- From: Uses
newsletter.from_email/newsletter.from_name - Action button: Links to
/newsletter/confirm/{token}
Failures during email sending are caught silently: the subscriber is still created in pending state.
Welcome Email
The WelcomeNotification is sent after a subscriber is confirmed, but only if
the admin has configured both a subject and content in the newsletter settings.
- Subject & Content: Read from database settings, resolved by current locale with fallback to the application’s fallback locale.
- Unsubscribe link: Included in the email template.
- From: Uses
newsletter.from_email/newsletter.from_name
Campaign Delivery
The CampaignNotification handles both email and SMS delivery using Laravel’s
notification system.
Email Delivery
- Uses a Markdown template:
newsletter::emails.campaign - Subject and content are translatable (resolved by the app locale)
- Reply-To is applied from
newsletter.reply_toif configured - Unsubscribe link is included in the email footer
SMS Delivery
- Routes through Vonage (
VonageMessage) or Twilio (TwilioSmsMessage) based onsms_driver - Content is stripped of HTML tags and truncated to 1600 characters
- Unicode mode is enabled for Vonage to support international characters
Updating
An update only replaces the add-on's files. Its database tables and data, its settings, its activation state and its recorded purchase code are all kept, so do not deactivate or remove the add-on before updating it. Back up your database first all the same.
Method 1: Upload the new version (recommended)
- Download the latest
.zipfile of the add-on. - Go to Admin panel → Extensions → Add-ons and click Upload add-on.
- Drop the
.zipfile into the upload area. - Because Newsletter Platform is already installed, a prompt shows the installed version and the new one. Click Replace: the
extensions/addons/newsletter/folder is swapped for the new files. Cancelling the prompt discards the upload.
Method 2: Replace the files by hand
- Over FTP or SSH, delete the
extensions/addons/newsletter/folder and upload the new one in its place. Replace the whole folder rather than copying over it, so files dropped by the new version do not linger. - Open Admin panel → Extensions → Add-ons: the page re-reads
addon.jsonand the card shows the new version number.
After the files are replaced
Apply the database update. Some versions of this add-on ship an update routine (database migrations and data fixes). When the new version has one, an Updates available banner appears in the admin panel. Go to Admin panel → System → Updates, find Newsletter Platform under Paid add-on updates and click Apply updates. Every pending version is applied in order, and the page records it in the update history. The routine is only offered while the add-on is active: if you replaced the files of a deactivated add-on, activate it first.
If your installation caches its configuration or routes (php artisan config:cache, route:cache), run php artisan optimize:clear after the update.
Uninstallation
Switching an add-on off without losing anything is a deactivation: go to Admin panel → Extensions → Add-ons, click Deactivate on the Newsletter Platform card and confirm.
- The add-on is no longer loaded: its routes, views, admin sidebar entry and front-end pages stop answering.
- Its database tables and all the data they hold are kept, and its files stay under
extensions/addons/newsletter/. Nothing is deleted. - Its permissions and its recorded purchase code stay in the database. Only Remove deletes them.
- Deactivation is refused while another active add-on depends on this one: deactivate that add-on first.
Click Activate on the same card to switch it back on. As for a first activation, the purchase code is asked for and verified again; then any pending migrations run, the assets are republished, and the add-on picks up exactly where it left off.
Removing
Removing is permanent and destroys the add-on's data. The Remove button only appears on a deactivated add-on, so removal is always two steps:
- Deactivate Newsletter Platform (see Uninstallation).
- Click Remove on its card and confirm the prompt.
The admin panel then, in one pass:
- runs the add-on's uninstall hook, if it ships one, while its code is still on disk;
- revokes the permissions declared in its
addon.json; - rolls back its migrations (this drops its database tables and every row they hold) and purges its entries from the
migrationstable, so a later reinstall migrates from scratch; - deletes its published assets:
public/addons/newsletter/,public/vendor/newsletter/andstorage/app/public/addons/newsletter/; - deletes the add-on directory
extensions/addons/newsletter/; - deletes its row in the
addonstable (the recorded purchase code goes with it) and clears the application cache.
Removal is refused, with an explanatory message and before anything is destroyed, when the add-on is still active, when another active add-on depends on it, or when the web server (PHP) user cannot delete extensions/addons/newsletter/. In that last case, give that user write permission on the directory and on its parent, then try again.
Deleting the folder over FTP or SSH is not equivalent: the add-on is only switched off, and its tables, its entries in the migrations table and its addons row are all left behind. Use Remove in the admin panel instead.
Troubleshooting
Confirmation emails not being sent
- Ensure the site mail settings are correct in Admin panel → Configuration → Settings → Mail.
- Check that Double Opt-In is enabled in Newsletter settings.
- Check that the Subscription Confirmation notification type is on in Admin panel → Configuration → Settings → Notifications (Notification Types tab).
- Check the Laravel log file (
storage/logs/laravel.log) for mail sending errors. - Confirmation email failures are caught silently: the subscriber is still created in pending state, but no email is sent.
Welcome email not being sent
- Ensure both Welcome Email Subject and Welcome Email Content are filled in for at least one language in the newsletter settings.
- The welcome email requires content in the current locale or the fallback locale. If neither has content, it is skipped.
- Check that the Welcome Email notification type is on in the core notification settings.
Subscribers not receiving campaigns
- Verify the subscriber’s status is
confirmed(pending and unsubscribed subscribers are excluded). - If the campaign targets specific segments, ensure the subscriber belongs to at least one of those segments.
- Check that the Campaign Email notification type is on in the core notification settings.
- Check the
newsletter_campaign_logstable for error messages on failed deliveries.
SMS campaigns failing
- Select and configure Vonage or Twilio as the SMS driver in Admin panel → Configuration → Settings → SMS.
- Subscribers must have a phone number to receive SMS campaigns. Those without phone numbers will produce a “Subscriber has no phone number” error in the campaign logs.
Import shows all subscribers as “skipped”
- Ensure the file has valid email addresses in an
emailcolumn. - With Create only, emails already in the database are skipped by design; with Update only, emails that are not in the database are skipped. Use Create & Update to do both.
- Check that the selected format matches the file (CSV, JSON, XML or tab-separated).
Scheduled campaign not sent
- Make sure the site cron job runs
php artisan schedule:runevery minute;php artisan schedule:listshould listnewsletter:send-scheduled. - Run
php artisan newsletter:send-scheduled --dry-runto list the scheduled campaigns that are due, or without--dry-runto send them right away. - A due campaign with no target subscriber (no confirmed subscriber in its segments) stays
scheduledand is retried every minute until it has recipients.
Campaign stuck in “sending” status
If the sending process was interrupted (e.g., request timeout, server crash), the campaign may remain
in sending status. To recover:
- Check
newsletter_campaign_logsfor the campaign to see how far delivery progressed. - Manually update the campaign’s
statustofailedorsentin the database. - For large lists, consider implementing queue-based sending to avoid timeouts.
Subscribers not being assigned to default segments
- Ensure the segment has
is_default = trueandis_active = true. - Default segments are only assigned at subscription time. Existing subscribers are not retroactively added when a segment is marked as default.
Theme views not overriding add-on views
The front-end confirmation and unsubscribe pages look for theme overrides at:
theme::newsletter.confirmtheme::newsletter.unsubscribe
Create them as views/newsletter/confirm.blade.php and views/newsletter/unsubscribe.blade.php
in your active theme’s folder (extensions/themes/<theme>/) to override the default templates.
Newsletter Platform v1.0.4: A LaraClassifier / JobClass add-on.
© BeDigit. All rights reserved.