Thanks to visit codestin.com
Credit goes to github.com

Skip to content
/ Clymail Public

A Laravel-based bulk email management system with a FilamentPHP admin panel, Livewire-powered UI, and robust features for template creation, multi-source recipient handling, and customizable SMTP, retry, and delay settings.

Notifications You must be signed in to change notification settings

Joweb1/Clymail

Repository files navigation

Clymail - Email Delivery Platform

Project Overview

Clymail is a SaaS email delivery platform built with Laravel, Livewire, and Filament, enabling users to create, manage, and send reusable email templates via PHPMailer SMTP, including bulk mailing with personalization.

Feature Checklist

Phase 1: Foundation & Authentication

  • Initialize a new Laravel project.
  • Configure .env for SQLite.
  • Install and configure Laravel Livewire.
  • Install and configure Filament.
  • Scaffold basic authentication (Login/Sign Up).
  • Create main Blade layout with Google-style design and deep purple accent.
  • Define primary routes for Template Dashboard, Settings, and Notifications.

Phase 2: Core Template Management

  • Create the migration for the templates table (user_id, name, html_content, etc.).
  • Build the main Template Dashboard Livewire Component (card-based grid, empty state, FAB).
  • Implement search and filter functionality on the Template Dashboard.
  • Create the Create/Edit Template Livewire Component (HTML editor, live preview, save, layout toggle).
  • Connect FAB and "Edit" actions to the Create/Edit page, and "Close" to the dashboard.

Phase 3: Core Mailing & Settings

  • Create a dedicated MailService class to encapsulate PHPMailer logic.
  • Build the Settings Page Livewire Component to capture and save user-specific mail configurations.
  • Build the Send Mail Page Livewire Component to load templates, parse placeholders, and implement instant email sending.

Phase 4: Advanced & Bulk Features

  • Create mail_logs and mail_jobs database tables (migrations).
  • Update the SendMail Livewire Component to include bulk mailing options (manual, MySQL, CSV, JSON inputs).
  • Create an Artisan command (php artisan clymail:send-bulk) for background bulk email processing.
  • Modify the SendMail component's sendMail method to trigger the Artisan command via exec() for bulk jobs.
  • Implement email sending logic within the Artisan command, including iteration, delay, and retry.
  • Implement recipient data fetching from MySQL and file parsing (CSV/JSON) within the Artisan command.
  • Update mail_jobs table with status and log individual email attempts in mail_logs table.
  • Build the Notifications Page Livewire Component to display real-time bulk mail status updates.

Phase 5: Administration & Polish

  • Create Filament Resource for Users.
  • Create Filament Resource for Templates.
  • Create Filament Resource for Mail Jobs.
  • Create Filament Resource for Mail Logs.
  • Implement animated profile card in the header's kebab menu.
  • Integrate modern modal dialogs for confirmation/input actions (Delete, Duplicate, etc.).
  • Ensure all pages are fully mobile-responsive and animations are smooth.

Getting Started

Further instructions on setting up and running the application will be provided in README_CONTEXT.md.

About

A Laravel-based bulk email management system with a FilamentPHP admin panel, Livewire-powered UI, and robust features for template creation, multi-source recipient handling, and customizable SMTP, retry, and delay settings.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages