Launch Offer: up to 50% off

This item is 50% off: $24.50 instead of $49

Ends in
--
Days
--
Hrs
--
Min
--
Sec

DEV3 Mailtide – Email Marketing SaaS Laravel Script with Segments, A/B Tests, Automations & Sending Servers

A self-hosted email marketing platform on Laravel 12 and Filament 4: consent-aware lists, nested segments, a block editor, A/B subject tests, throttled sending servers, automations and a Send Tide report. Web installer and demo data included. No mobile apps.

by DEV3 TechnologiesVerified Author(0) 0 sales 0 viewsUpdated 08 Nov 2026

Video tour. Pick a section below to browse 112 screenshots in 9 sections.

App & phone tours

Tap play to watch each app. Nothing downloads until you do.

  • Mobile web1:13

Mailtide is an email marketing platform you host yourself, built by DEV3 Technologies on Laravel 12 and Filament 4. Each customer is a workspace with its own lists, segments, campaigns and automations; the operator runs plans, shared sending servers and abuse control from a separate panel.

What it does

  • Lists you can trust. Every membership stores its source, time, IP and the exact wording shown. Double opt-in uses single-use links that expire, with one reminder and an automatic purge. Imports must state a consent basis and never revive an unsubscribed, bounced, complained or cleaned address. A preference centre lets subscribers pick topics, and every bulk message carries one-click unsubscribe headers.
  • Segments. A nested rule builder (fields, tags, lists, opens and clicks, rating, country) with live counts. Bots and privacy-proxy opens are filtered out of every figure.
  • Campaigns. A block editor (headings, text, images from a private library, buttons, columns, product cards, social links), a content linter, test sends, scheduling in your time zone or each recipient's, and A/B subject tests with 2 to 4 variants and a winner applied exactly once.
  • Sending. Sending servers with hourly, daily and warm-up limits, a per-campaign throttle, deterministic Message-IDs, suppression checked again at the moment of sending, and sending domains with SPF, DKIM and DMARC records re-checked every day.
  • Automations. Triggers on subscription, tag, field, birthday, link click or API event; waits that keep local time across daylight saving; if/else, tags, fields, webhooks and goals; versioning for live edits.
  • Reports. The Send Tide (hourly sent, delivered, opens and clicks), funnel, link clicks, domains, bounces and complaints, campaign comparison and CSV export.
  • Operator panel. Workspaces, plans with monthly email quotas, shared servers, domain approvals, an abuse queue, global suppression and audited, view-only support sessions.
  • REST API with scoped, hashed keys, an OpenAPI document and signed outbound webhooks.

Quality checks

The release passed seven gates on the final code: Larastan level 6 with 0 errors, 270 Pest tests (5,843 assertions), a build well inside the page budget, migrations and seeds on MySQL 8 and SQLite, a headless smoke test of 55 pages with six race checks run as parallel processes on MySQL (parallel preparers, parallel sender workers, unsubscribes racing sends, the last unit of quota, double enrolment, a double A/B evaluation), the installer driven from the zip, and a secret scan. The home page scores 95 for performance and 95 for accessibility on mobile.

What you should know before buying

  • The demo and tests use a simulated sending server: nothing is delivered. Add your own SMTP, Amazon SES (via SMTP), Mailgun or Postmark credentials to send for real. The SES, Mailgun and Postmark drivers were written to the providers' public documentation and have not been run against live accounts.
  • It does not test inbox placement or spam scores: the linter is only a lint.
  • SMTP cannot be made idempotent, so a crash after the relay accepted a message can send that message twice on retry.
  • Bounce and complaint mail (DSN and ARF) is parsed from .eml files with a command; fetching it from a mailbox is up to you.
  • Plans are billed by the operator through the platform gateway (simulated by default; Stripe, Razorpay and PayPal drivers are present). Workspaces cannot connect their own payment account.
  • The editor is best on desktop. DNS checks use your server's resolver (the demo simulates them). Open and click geography is not collected.
  • The demo seed shows about 85,000 contacts, 1,000 campaigns and 1.6 million recipient rows and takes a minute or two on MySQL.
  • Web only: there are no mobile apps. Node.js is not needed (assets are prebuilt).

Included

Source code, the web installer, a buyer guide, demo data with fictional brands and people, a cron entry for the scheduler, and six months of support. Photos are listed with their licence in the source tree.

How it's built

Architecture, stack, key decisions and the quality gates DEV3 Mailtide passed before release.

The engineering behind Mailtide: a campaign sender that claims rows with one statement, a row-lock order checked in tests, suppression re-read at send time and simulated drivers for every provider.

The problem it solves

Email marketing looks like a mail merge until volume and consent arrive. Several workers must never send the same message twice, an unsubscribe that commits mid-send must be honoured, two campaigns must not both take the last unit of monthly quota, and a tracking pixel must not count a mail scanner as a reader. Each of those is a race or a rule that only shows under load.

Architecture and approach

Mailtide is a Laravel 12 application with a Filament 4 operator panel at /admin, a workspace panel at /app and hand-built Blade pages for subscribers. A campaign is prepared in one transaction that takes the monthly usage row, then the campaign row, snapshots the audience with a single insert-select and reserves the quota. Sender workers claim a batch with one UPDATE through a derived table, re-check the contact, suppression and membership while holding the contact row lock, and move the row to sent with a guarded update, so an unsubscribe either lands first or waits. Message-IDs are deterministic, so a retry after a crash is idempotent on drivers that support it.

The segment compiler turns a rule tree into whereExists queries that run unchanged on SQLite and MySQL and is tested against vectors produced by an independent reference evaluator. Tracking tokens are HMAC-signed, redirects look up the stored URL, and bot, scanner and privacy-proxy opens are separated from human ones. Every provider sits behind a driver interface with a deterministic simulated driver.

Quality gates and results

Mailtide 1.0.0 passed the seven release gates on the final code: Larastan level 6 with 0 errors, 270 Pest tests with 5,843 assertions, a headless smoke test of 55 pages, six MySQL race checks run as separate processes, the installer driven from the zip and a clean secret scan.

Tech stack

Area Technologies
Application Laravel 12, Filament 4, Blade, REST API
Data MySQL 8, SQLite
Frontend Tailwind CSS 4, Vite
Quality Pest, Larastan level 6, Playwright
Integrations SMTP, Amazon SES (SMTP), Mailgun, Postmark

Inside the build

Hero: A writing desk in morning light beside the headline, with the campaign editor and a phone preview overlapping the photo. Hero — A writing desk in morning light beside the headline, with the campaign editor and a phone preview overlapping the photo.

Dark mode: The same page on deep ocean blue with sand text; the toggle in the header remembers the choice. Dark mode — The same page on deep ocean blue with sand text; the toggle in the header remembers the choice.

Guides & articles

Practical guides and engineering write-ups for DEV3 Mailtide.

Email marketing software: 7 things to check before you pick one

Last updated
Email marketing software: 7 things to check before you pick one: DEV3 Mailtide

Sending email is easy; sending it so that people asked for it, nothing goes out twice and your figures mean something is the hard part. Here are seven things to check before you pick software, with DEV3 Mailtide as the worked example.

Mailtide home page: a writing desk photo beside the headline and the campaign editor

1. Is consent a record or a checkbox?

You should be able to open a contact and see where it came from, when, from which address and what text was shown. Mailtide stores that per membership, requires a stated basis for every import and never lets an import revive someone who unsubscribed.

2. Does unsubscribe survive link scanners?

Mail scanners open every link. An unsubscribe that works on GET removes people who never asked. Mailtide shows a page on GET and unsubscribes on POST, with the one-click header for mail clients.

Mailtide segment builder with a live count of matching contacts

3. Are opens and clicks honest?

Count scanner clicks and privacy-proxy opens and your rates are fiction. Mailtide flags them and keeps them out of reports and segments.

4. What happens at the send limit?

Servers have hourly, daily and warm-up limits. Mailtide parks the rest for the next hour and says so on the report instead of failing.

The Send Tide chart for a campaign that is half way through sending

5. Is suppression checked at the last moment?

A contact who unsubscribes while a campaign is sending must not receive the next batch. Mailtide re-reads suppression and membership under a row lock at send time.

6. Does the quota hold under two campaigns?

Two campaigns racing for the last emails of the month must not both start. Mailtide reserves quota under a lock when a campaign is prepared.

Sending domain records with copy buttons

7. Can you verify your domain?

SPF, DKIM and DMARC with a daily re-check. If DKIM disappears, the campaigns on that domain pause.

Video: a tour of Mailtide from signup form to report

Limits to know

The demo sends through a simulated server; you add your own provider. There is no inbox-placement test, and SMTP cannot be made idempotent after a crash. The buyer guide lists these plainly.

Frequently asked questions

The complete source code (version 1.0.0) as a download from your account, with the setup and usage guides shown on this page. You can modify the code to suit your product.

Buying guides: Laravel scripts with Filament panels and a web installer · Next.js or Laravel for a SaaS script?

More from this author

View all

Related in Web Scripts & Software

View all