PHP Email Marketing Script

If you've ever priced out a "proper" email marketing platform once your list crossed a few thousand subscribers, you already know the punchline: the tools that started at $20/month suddenly want $150, $300, sometimes more - for the exact same features you were using when it was cheap. You don't own your list, you don't own your sending infrastructure, and you definitely don't own that monthly bill.

So I built Mailiva Pro - a self-hosted PHP email marketing platform you install once, on your own hosting, and never pay a recurring fee for again. This post walks through what it does, how it's built, and how to get it running.

Why Self-Hosted, Really?

"Self-hosted" gets thrown around a lot, so let's be concrete about what you actually get:

  • Your subscriber list lives in your MySQL database - not locked inside someone else's platform
  • You choose how emails get sent: your own SMTP account, a transactional API, or even PHP's direct mail function with zero setup
  • No per-subscriber pricing tiers that punish you for growing
  • No feature paywalls - A/B testing, automation-ready architecture, and full tracking are just... there

The tradeoff, historically, has been that self-hosted PHP scripts tend to look like they were built in 2014 and left alone since. That's the gap Mailiva Pro is trying to close.

What Is Mailiva Pro?

It's a complete newsletter and campaign platform - subscriber lists, a real drag-and-drop email builder, multi-provider sending, open/click tracking, and automatic bounce handling - built in plain PHP and MySQL. No Composer, no Laravel, no Node build step. You upload files, run a web installer, and you're sending within minutes on completely ordinary shared hosting.

Built for real hosting, not a demo environment Every send goes through a cron-driven, throttled queue - never a live web request - so a 10,000-subscriber campaign won't time out your PHP process or get your SMTP account rate-limited.

The Features That Actually Matter

🎨 Drag & Drop Builder

Eight block types - heading, text, image, button, divider, spacer, columns, social, footer. Drag, reorder, edit in a side panel. Undo/redo included.

📤 Three Sending Modes

Your own SMTP, a transactional API (SendGrid/Mailgun/Brevo), or direct PHP Mail with no credentials at all.

🧪 A/B Subject Testing

Split-test two subject lines on a sample of your list; the winner gets auto-sent to everyone else.

🛡️ Real Bounce Handling

Webhook-based bounce and spam-complaint handling for SendGrid, Mailgun, and Brevo - not string-matching SMTP errors.

A few more worth calling out: one-click unsubscribe with proper List-Unsubscribe header support (so Gmail and Outlook show their native one-click unsubscribe button), a full per-subscriber activity timeline, CSV import with column mapping, and a "resend to non-openers" button that creates a follow-up campaign targeting only the people who missed your first send.

The Tech Stack (For the Curious)

Since most of you reading this are developers, here's the honest breakdown of what's under the hood:

  • PHP + PDO - no ORM, no framework, plain prepared statements
  • MySQL/MariaDB - a dozen or so well-normalized tables
  • PHPMailer - bundled directly, no Composer required
  • Bootstrap 5 - the entire admin panel uses real Bootstrap components (cards, badges, modals), reskinned with a small CSS-variable override rather than a custom Sass build
  • SortableJS - powers the drag-and-drop reordering in the template builder
  • Chart.js - the dashboard's performance trend chart

The sending engine is worth a quick look. Every campaign gets queued as individual rows, and a single cron script processes a throttled batch each run:

bash
* * * * * php /home/yourusername/public_html/mailiva-pro/cron/send_campaigns.php >> /dev/null 2>&1

That one line is the entire "infrastructure" a buyer needs to set up. No message queue server, no Redis, no worker process to keep alive - just a cron job any shared host already supports.

Getting It Running

Installation is a five-minute, four-step process:

  1. Upload the files and create a MySQL database
  2. Run the web installer - it creates every table and your admin account for you
  3. Delete the /install/ folder
  4. Add the cron line above and enter your SMTP/API details in Settings

If you want automatic bounce suppression, Settings also shows you ready-to-paste webhook URLs for SendGrid, Mailgun, and Brevo - each protected by a random secret key generated at install time:

text
https://yourdomain.com/mailiva-pro/track/webhook_sendgrid.php?key=your-generated-secret

Who This Is For

If you're an agency running newsletters for clients, a SaaS founder who wants transactional-adjacent marketing emails without another monthly line item, or just someone who'd rather own their sending stack than rent it - this is built for you. It's also a genuinely useful codebase to read through if you want to see a real-world example of a queue-based sending architecture, webhook signature verification, and a drag-and-drop UI built without a JS framework.

Own Your Email Marketing Stack

No monthly fees. No subscriber limits. Your database, your rules.

Got questions before you buy, or run into something while setting it up? Drop a comment below - I read every one.

- Contact Us @ a2zwebhelp.com

Mailiva Pro V1.0

Complete Newsletter and Campaign Platform

A Self-Hosted PHP Email Marketing Platform You Actually Own

$19 $39
Buy Now & Download Instantly
Demo Admin

Email: admin@a2zwebhelp.com | Password: manager123

PHP 8 + MySQL Self-Hosted Email Marketing PHP Newsletter