Skip to content

Conversation

@bomoko
Copy link
Contributor

@bomoko bomoko commented Dec 18, 2025

This pull request modernizes and standardizes the application's email system for app instance lifecycle events by migrating from traditional Markdown-based emails to MJML-based Blade templates. It introduces reusable MJML Blade components for consistent, responsive email layouts and updates the mail classes to use Laravel's new envelope and content methods, passing configuration and theming data to the views.

Key changes include:

Email System Refactor and MJML Adoption

  • Migrated app instance lifecycle emails (ready, midtrial, one-day-left, trial-complete) to new MJML-based Blade templates for improved design and responsiveness. These templates use new components for layout, titles, buttons, and credential sections. [1] [2] [3] [4] [5] [6] [7] [8]

Mail Class Modernization

  • Updated mail classes (AppInstanceReadyMail, AppInstanceMidtrialMail, AppInstanceOneDayLeftMail, AppInstanceTrialCompleteMail) to use Laravel's new envelope() and content() methods instead of the deprecated build(). These methods now inject theme and configuration data into the views for dynamic rendering. [1] [2] [3] [4] [5] [6] [7] [8]

Reusable MJML Components

  • Added reusable Blade components for MJML wrappers, buttons, titles, and credential sections to ensure consistent styling and reduce code duplication across all email templates. [1] [2] [3] [4]

Backward Compatibility

  • Preserved the old Markdown-based "one day left" email as a fallback or for reference.

These changes will ensure all user-facing emails are visually consistent, mobile-friendly, and easier to maintain going forward.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants