/admin/email-templates workspace, where you can edit header, body, and footer content using a rich TinyMCE editor, preview emails with live mock data, and use merge tags like {{order_id}} and {{order_items_table}} to personalize each message.
Admin Workspace
Workspace Features
Profile Cloning
Duplicate any existing template with a single click. Useful for A/B testing subject lines or seasonal layout variants.
Rich TinyMCE Editors
Customize the top header block, main message body, and footer independently per template.
Live In-Browser Preview
Alpine.js modal renders the full HTML email with realistic mock data before you send anything.
Override Logic
Toggling a template profile to Active automatically deactivates all other profiles of the same trigger type — only one is ever live per notification type.
Trigger-Based Classifications
Each template is bound to one system trigger. Triggers are predefined in the database:Merge Tag Variable Replacement
All text and HTML content blocks are parsed dynamically at send time. Supported merge tags:{{order_items_table}} Block
Inserting {{order_items_table}} into a template body automatically injects a fully rendered HTML block. Used in Order Confirmation, Shipment Notification, and Download Reminder templates.
The block contains:
1
Order Info Header
Invoice number, order date, and current fulfillment status.
2
Formatted Items Table
All purchased items with quantities and prices. Items are badged:
- 🟢 Green badge — Shippable physical item
- 🔵 Blue badge — Digital Download item
3
Tax & Shipping Breakdown
Itemized totals: subtotal → promotional discount deductions → tax → shipping fee → final order total.
4
Postal Shipping Address
Displayed for orders containing shippable items; omitted for digital-only orders.
{{download_links}} Block
Inserting {{download_links}} renders a set of stylized green callout boxes, one per digital item in the order, each containing a direct secure download button.
Download links use secure UUID tokens tied to the order. The tokens are validated server-side on every download request and are subject to order-level expiry and max-download counter limits.
Fulfillment Actions & Email Triggers
Mark Shipped
Location: Order Details page → Mark Shipped button, or Status dropdown → select status2
Effect: Shipment confirmation email (order_shipment) is dispatched immediately to the customer.
Send Download Reminder
Location: Order Details page → fulfillment card → Send Download Reminder button Effect: Download reminder email (download_reminder) is dispatched on demand for orders containing digital items.
Double Confirmation Gate
Checkout Mailing List Opt-in
Configure under Admin → Checkout → Processors & Payments.Supported Providers
Mailing list subscription failures are caught silently and logged to
storage/logs/laravel.log. A subscription error will never interrupt or block the order completion flow.