Main features
- Subscriber management with CSV upload or API import
- Custom segments for targeting campaigns
- Campaigns to all subscribers or selected segments
- Custom email templates
- Tracking of opens, clicks, bounces and unsubscribes
- Several workspaces or teams in one installation
- Sending through Amazon SES, Postmark, SendGrid, Mailgun, Mailjet, Postal or SMTP
- REST API
- Runs stand-alone or as a package inside an existing Laravel app
What SendPortal does
SendPortal is a self-hosted email marketing application built on the Laravel PHP framework. It covers the core of a campaign tool: subscribers imported from CSV or through the API, custom segments, templates, campaigns sent to everyone or to selected segments, and per-campaign reports on opens, clicks, bounces and unsubscribes.
A notable feature is workspaces. One installation can hold several separate workspaces, each with its own subscribers, templates and campaigns, which makes SendPortal practical for agencies or for a company that runs newsletters for several brands.
Sending providers
SendPortal does not deliver mail itself. Each workspace connects to an email service through an adapter: Amazon SES, Postmark, SendGrid, Mailgun, Mailjet, Postal or plain SMTP. Sends are processed through Laravel’s queue, which can run synchronously, from the database or from Redis.
Self-hosting SendPortal
There are two ways to install it. The stand-alone application is cloned from GitHub and set up with Composer. Alternatively, the core package (mettle/sendportal-core) can be installed into an existing Laravel application, so you can embed email marketing into a product you already run.
SendPortal v4 requires PHP 8.3 or newer and Laravel 13, with MySQL 5.7 or newer or PostgreSQL 10 or newer, behind a web server such as Apache or nginx. The scheduler needs a cron job running every minute, and Redis is optional as a queue backend. Older PHP and Laravel versions are covered by the v3 and v2 branches.
Hosted version
There is no hosted service. You run the application yourself and pay your chosen sending provider directly.
Limitations
The feature set is basic compared with other tools in this category. The documentation describes no automations or drip sequences, no signup form builder and no visual drag-and-drop email editor, so subscribers usually arrive through the API or CSV imports. Development was quiet from 2024 until the v4 release in 2026, which upgraded the project to Laravel 13; check recent activity on the project page before you commit to it. Installing and maintaining it requires PHP deployment experience: Composer, a web server, cron and a queue.
Who it suits
SendPortal suits Laravel developers and agencies that want an MIT-licensed codebase they can extend, or that want to add newsletter sending to an existing Laravel product. It covers the campaign side of Mailchimp for teams that can handle signup forms on their own sites. If you want built-in forms and opt-in handling, Keila or listmonk are more complete; for automations, see Mautic.
License details
MIT. The application wraps the separately published mettle/sendportal-core package, also under MIT.
Technical details
Self-hosting needs
- MySQL or PostgreSQL
- Web server
- Cron job
- Sending provider
Built with
- PHP
- Laravel
GitHub topics
- email-marketing
- emails
- marketing-automation
Reviewed by the OpenSourcePicks editors from the project's repository and documentation. Something out of date? Tell us.