mailcarrierapp/
mailcarrier
g4t.io

Design Emails and Send Them Via API with MailCarrier

by Paul Redmond

MailCarrier is an open-source web app built with Laravel and Filament, where you can design emails once and send them via an API call.

README from mailcarrierapp/mailcarrier Open on GitHub →

Design global layouts, compose your template, preview your emails and send them with your desired provider (SES, MailGun etc.) through intuitive and friendly API endpoint protected by your desired auth guard. Then, inspect them through logs.

Features

  • 🎨 Beautiful syntax: Explore a beautiful, expressive template syntax similar to JS thanks to Twig by Symfony.
  • 🧩 Provider aware: Bring your desired provider to send email, such as Amazon SES, MailGun, SendGrid etc.
  • ✨ Friendly APIs: Use a friendly and well documented API endpoint to send your emails.
  • 🔐 Secure by default: Both authentication and API endpoint are always secure: use one of the pre-built auth system or bring your own.
  • 📎 Attachments: Upload or retrieve attachments from a remote source such S3, Spaces etc.
  • 🪄 Hackable: MailCarrier relies on Laravel and Filament, that means that over 30K packages are available to customise your MailCarrier instance.
  • ⏳ Queues: You can choose whether or not to send emails in a enqueued, background jobs, to not block the user experience.
  • 🪝 Webhooks: Track and receive events from your provider directly in MailCarrier.

Quick start

Classic way

Prerequisites: PHP 8.4, Laravel 13, Composer

curl "https://mailcarrier.app/create" | bash

Learn more about the classic way.

Docker

docker run -p 80:80 -ti mailcarrier/mailcarrier

Learn more about running with Docker.

Testing

composer test

Upgrading

Upgrading from v2 to v3? See the upgrade guide.

Upgrade with your AI agent

MailCarrier ships machine-readable upgrade instructions. Paste the following prompt into your AI coding agent (Cursor, Claude Code, Codex, etc.) and it will perform the v2 → v3 upgrade for you:

Upgrade this project from MailCarrier v2 to v3 by following these instructions exactly:
https://raw.githubusercontent.com/mailcarrierapp/mailcarrier/main/ai/upgrades/v2-to-v3.md

Apply every phase in order, run the verification gate after each phase, run `composer test` at the end, and stop and report if any stop condition is hit.

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.

More from the ecosystem

marcreichel/
laya-php
g4t.io
3 53

LayaPHP: Self-Hosted Text Classification for PHP and Laravel

Classify text in PHP without an LLM bill: typed decisions in 100+ languages, self-hosted. Laravel-ready SDK for Laya, a Jev AI alternative.

ai classification decision-engine
marcreichel/laya-php via Laravel News
Josh-Dovey/
postcodes-laravel
g4t.io
5 9

Postcodes for Laravel: GB Postcode Lookup and Geography Data

Postcodes for Laravel adds typed GB postcode lookups, validation, geography data, distance searches, and test fakes through the GB Postcodes API.

Josh-Dovey/postcodes-laravel via Laravel News
RedberryProducts/
mailbox-for-laravel
g4t.io
4 115

Mailbox for Laravel: Preview and Test Rendered Email

Mailbox for Laravel captures outgoing mail in a local dashboard and lets you test rendered HTML, recipients, and attachments with fluent assertions.

RedberryProducts/mailbox-for-laravel via Laravel News