WP Manifestindependent plugin directory
manifest / email / email-marketing-automation-wordpress-plugin

Email Marketing Automation

A smart Email Marketing Automation system to create, schedule, and send bulk email campaigns with ease. Automates audience targeting, follow-ups, and personalized messaging to boost engagement. Includes analytics, open-rate tracking, and campaign performance insights for better results.

by Your Name · github.com/bikasraj/email-marketing-automation-wordpress-plugin · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/bikasraj/email-marketing-automation-wordpress-plugin/archive/refs/heads/main.zip

A complete email marketing automation plugin with bulk sending, tracking, templates, campaigns and reports.

Description

Email Marketing Automation gives you a full email marketing suite inside your WordPress admin — no external SaaS subscription needed.

Key Features

Subscriber Import

  • Upload CSV or Excel (XLSX/XLS) files with Name + Email columns
  • Background chunk processing — safely handles 10,000+ rows without timeouts
  • Progress bar with live feedback
  • Duplicate emails automatically skipped

Email Template Builder

  • WYSIWYG rich-text editor (wp_editor / TinyMCE)
  • Dynamic placeholders: {{name}}, {{email}}, {{site_name}}, {{site_url}}, {{unsubscribe_url}}
  • One-click test email with preview
  • Save & reuse unlimited templates

Campaign Management

  • Create campaigns from saved templates
  • Send immediately or schedule for a future date/time
  • Pause / Resume / Retry failed emails
  • Real-time progress modal

Bulk Email Sending

  • WordPress Cron-based queue — processes 200 emails per minute by default
  • SMTP support with encrypted credential storage
  • Automatic retry (up to 3 attempts) on transient failures
  • Per-email throttle to stay under SMTP rate limits

Email Tracking

  • Open tracking via 1×1 transparent pixel
  • Click tracking via redirect proxy
  • HMAC-signed tracking URLs to prevent spoofing

Reports Dashboard

  • Per-campaign: Sent, Failed, Unique Opens, Unique Clicks, Pending
  • Open rate & Click rate progress bars
  • Full activity log with subscriber name, event type, URL, and timestamp

Bonus Features

  • One-click unsubscribe link in every email
  • Bounce handling (marks subscriber as bounced)
  • Scheduled campaigns (datetime-local picker)
  • Clean modern admin UI

Custom Database Tables

The plugin creates 5 dedicated tables:

  • {prefix}ema_subscribers
  • {prefix}ema_templates
  • {prefix}ema_campaigns
  • {prefix}ema_queue
  • {prefix}ema_tracking

All tables are removed on plugin deletion (uninstall hook).

SMTP Providers

Provider Host Port Encryption
Gmail smtp.gmail.com 587 TLS
Outlook smtp-mail.outlook.com 587 TLS
Yahoo smtp.mail.yahoo.com 465 SSL
SendGrid smtp.sendgrid.net 587 TLS
Mailgun smtp.mailgun.org 587 TLS
Amazon SES email-smtp.us-east-1.amazonaws.com 587 TLS

Installation

  1. Upload the email-marketing-automation folder to /wp-content/plugins/.
  2. Activate the plugin through the Plugins menu in WordPress.
  3. Navigate to Email Marketing in the admin sidebar.
  4. Go to Settings → configure your Sender Identity and (optionally) SMTP.
  5. Go to Import Users → upload your CSV or Excel file.
  6. Go to Email Templates → create and save a template.
  7. Go to Campaigns → create a campaign, choose your template, and send!

Frequently Asked Questions

How many emails can it send?

There is no hard limit in the plugin. Throughput depends on your SMTP provider's rate limits and your server's PHP execution time. The cron-based queue processes 200 emails per minute by default (configurable via the EMA_CHUNK_SIZE constant).

Does it work without SMTP?

Yes. If no SMTP host is configured the plugin falls back to WordPress's built-in wp_mail(), which uses your server's sendmail. For production bulk sending, a dedicated SMTP provider is strongly recommended.

Can I change the chunk size?

Yes. Add this to wp-config.php: define( 'EMA_CHUNK_SIZE', 500 );

Where are imported files stored?

Temporarily in wp-content/uploads/ema-imports/. Files are deleted immediately after processing completes.

Is it GDPR-friendly?

The plugin provides unsubscribe links in every email and honours unsubscribe requests by marking the subscriber as unsubscribed (not deleted, so you have a record). You should add appropriate privacy policy language to your site.

Changelog

1.0.0

  • Initial release

Upgrade Notice

1.0.0

Initial release — no upgrade needed.