=== Pexally Email Campaigns ===
Contributors: pexallyllc
Tags: email marketing, bulk email, newsletter, mail merge, smtp
Requires at least: 5.8
Tested up to: 7.0
Stable tag: 2.0.0
Requires PHP: 7.4
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

An email marketing and mail merge plugin for WordPress. Send campaigns, track opens/clicks, manage contacts, and route through your own SMTP provider.

== Description ==

**Pexally Email Campaigns** provides email marketing automation directly from your WordPress dashboard. 

Whether you are sending a weekly newsletter, running an outreach campaign, or leveraging mail merge for personalized emails, Pexally helps you format your campaigns and safely queue them for delivery.

Built with native API and SMTP support for **Google Workspace (Gmail)**, **Amazon SES**, **SendGrid**, and **Mailgun**, this plugin allows you to bypass unreliable shared-hosting mail servers to improve email deliverability.

### 🚀 Core Features

* **Mail Merge Personalization:** Use dynamic tags like `{{first_name}}`, `{{last_name}}`, and `{{email}}` in your subject lines and email body to execute highly personalized email campaigns.
* **Native SMTP Integration:** Connect directly to Google Workspace, SendGrid, Amazon SES, or Mailgun with zero coding required. 
* **Safe SaaS Sending Engine:** Campaigns are processed through our central API, which automatically throttles emails to help protect your connected email accounts from velocity anti-spam limits.
* **High-Performance Contact Importer:** Import contacts using our browser-based CSV Chunking Engine. Avoid server timeouts and memory limits when building your list.
* **Interactive Analytics Dashboard:** Monitor your campaign success in real-time with a Chart.js graph tracking Delivered, Opened, and Click-to-Open rates.
* **Email Template Library:** Choose from responsive email layouts (Newsletters, Sales, E-Commerce, Announcements) that automatically wrap around your brand logo and footer.
* **Failed Email Retry:** Isolate emails that failed to send due to server connection issues and retry them easily.

### 🛡️ Built for Deliverability

Most default PHP mail (`wp_mail`) configurations struggle with deliverability. Pexally Email Campaigns utilizes a dedicated SaaS queuing engine to process your mail merges and pass them to your professional SMTP providers, helping you maintain a strong sender reputation during broadcasts.

[Discover more at Pexally.com](https://pexally.com/pexally-email-campaigns/)

== External services ==

This plugin operates as a client for the Pexally Email Marketing Service (SaaS). To process queues, enforce sending limits, and prevent your local WordPress server from crashing during bulk mailing, the plugin securely transmits campaign data to our central API at `payment.pexally.com`.
* Data sent includes: Campaign subject, HTML body, recipient email addresses, and your configured SMTP credentials.
* Our central servers then safely connect to your chosen SMTP provider to dispatch the emails in the background.
* Pexally Terms of Service: https://pexally.com/terms/
* Pexally Privacy Policy: https://pexally.com/privacy-policy/

Additionally, your emails are routed through the third-party SMTP providers you configure:
* Amazon SES Terms/Privacy: https://aws.amazon.com/service-terms/ | https://aws.amazon.com/privacy/
* Google Terms/Privacy: https://policies.google.com/terms | https://policies.google.com/privacy
* SendGrid Terms/Privacy: https://www.twilio.com/en-us/legal/tos | https://www.twilio.com/en-us/legal/privacy

== Installation ==

1. Upload the `pexally-email-campaigns` directory to the `/wp-content/plugins/` directory.
2. Activate the plugin through the 'Plugins' menu in WordPress.
3. Navigate to **Pexally Email -> Settings** in your WordPress admin menu.
4. Fill in your Sender Details and configure your SMTP connection (Google Workspace, SendGrid, Amazon SES, etc.).
5. Go to **Audience** to upload your first CSV of subscribers.
6. Create your first campaign and start tracking!

== Frequently Asked Questions ==

= Does this plugin work on shared hosting? =
Yes! Because we utilize a SaaS API architecture, your heavy email campaigns are queued and processed on our central servers. This completely bypasses PHP memory limits and `max_execution_time` errors on shared hosts.

= How many emails can I send per day? =
Our Free Tier allows you to process up to 50 emails per day through our queuing engine. By upgrading to a Pro License, you can increase your queue limits to 450/day (Standard Gmail), 1,800/day (Google Workspace), or Unlimited (Amazon SES / SendGrid) depending on your connected provider's rules.

= Why do I need an "App Password" for Google Workspace? =
Google prohibits third-party applications from logging in with your standard account password for security reasons. You must generate a 16-character "App Password" from your Google Account Security settings.

= Can I personalize my newsletters with Mail Merge? =
Absolutely! When drafting your campaign, simply use the `{{first_name}}`, `{{last_name}}`, or `{{email}}` tags in the subject line or email body. Our engine will dynamically swap them out for each recipient.

== Screenshots ==

1. **Interactive Dashboard:** Track your overall opens, clicks, and sending metrics with visual graphs.
2. **Settings & SMTP:** Configure your branding and connect directly to Google Workspace or Amazon SES.
3. **Contact Manager:** Import massive CSV lists with zero lag or server timeouts.
4. **Live Sending Monitor:** Watch your campaign queue status in real-time.

== Changelog ==

= 2.0.0 =
* Complete architectural rewrite for WordPress.org compliance.
* Pivoted to a SaaS API model (Serviceware) for faster, crash-free background queuing.
* Added strict database security and sanitization checks.
* Removed hardcoded local branding.
* Secured tracking API endpoints with cryptographic hashes.
* Added High-Performance Bulk Insert for importing contacts instantly.
* Added Chart.js Analytics Dashboard.
* Added Pure CSS Template Library.

= 1.0.0 =
* Initial internal beta release.