=== Outreach ===
Contributors: codename065, outreach
Tags: email marketing, newsletter, autoresponder, email automation, subscribers
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 8.0
Stable tag: 3.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Modern email marketing, newsletter, and automation plugin for WordPress with a SaaS-like experience.

== Description ==

**Outreach** is a powerful email marketing and automation plugin that brings enterprise-level features to your WordPress site. With a beautiful, modern interface and powerful automation capabilities, you can grow your audience, send engaging newsletters, and automate your email marketing - all from your WordPress dashboard.

= Key Features =

**Subscriber Management**
* Unlimited subscribers and lists
* Custom tags for segmentation
* Double opt-in support
* Import/Export subscribers
* Subscriber activity tracking

**Visual Email Builder**
* Drag-and-drop email editor
* Pre-built email templates
* Mobile-responsive designs
* Merge tags for personalization
* Rich text editing with TipTap

**Campaign Management**
* One-time and scheduled campaigns
* Send to multiple lists
* Test emails before sending
* Pause/Resume/Cancel sending
* Real-time sending progress

**Marketing Automation**
* Visual workflow builder
* Trigger-based automations
* Welcome sequences
* Tag-based workflows
* Wait steps and delays

**Email Tracking & Analytics**
* Open tracking
* Click tracking
* Campaign statistics
* Link performance
* Subscriber engagement

**Multiple Email Providers**
* WordPress default mail
* Custom SMTP
* Amazon SES integration
* Queue-based sending

**Post Subscriptions**
* Subscribe to post updates
* Automatic notifications
* Category/author subscriptions

= Why Choose Outreach? =

* **No Monthly Fees** - Unlike SaaS email platforms, pay once and own it forever
* **Your Data, Your Control** - All subscriber data stays on your server
* **GDPR Friendly** - Built with privacy in mind
* **Developer Friendly** - Extensive hooks and filters for customization
* **Modern UI** - Beautiful Vue.js powered admin interface

= Integrations =

* Amazon SES for high-volume sending
* Works with any SMTP provider
* Extensible trigger/action system for third-party plugins

== Installation ==

1. Upload the `outreach` folder to the `/wp-content/plugins/` directory
2. Activate the plugin through the 'Plugins' menu in WordPress
3. Go to **Outreach** in your admin menu to get started
4. Create your first list and start collecting subscribers

= Minimum Requirements =

* WordPress 6.0 or higher
* PHP 8.0 or higher
* MySQL 5.7 or higher

== External Services ==

This plugin connects to the following third-party services:

= WPOutreach.com License Server =

**What it is:** License validation service operated by the plugin developer.

**When it's used:** Only when you activate or deactivate a Pro license key in the plugin settings. Free users who don't enter a license key will not connect to this service.

**What data is sent:**
* License key (entered by user)
* Website domain name
* Product identifier

**Links:**
* Service URL: [https://wpoutreach.com/](https://wpoutreach.com/)
* Privacy Policy: [https://wpoutreach.com/privacy-policy/](https://wpoutreach.com/privacy-policy/)
* Terms of Service: [https://wpoutreach.com/terms/](https://wpoutreach.com/terms/)

= Amazon Simple Email Service (SES) =

**What it is:** Amazon Web Services email sending infrastructure.

**When it's used:** Only when you choose to configure Amazon SES as your email delivery method in the plugin settings. This is an optional feature - you can use WordPress default mail or custom SMTP instead.

**What data is sent:**
* Email content (subject, body, headers)
* Sender and recipient email addresses
* Your AWS credentials are stored locally and used to authenticate API requests

**Links:**
* Service URL: [https://aws.amazon.com/ses/](https://aws.amazon.com/ses/)
* Privacy Policy: [https://aws.amazon.com/privacy/](https://aws.amazon.com/privacy/)
* Terms of Service: [https://aws.amazon.com/service-terms/](https://aws.amazon.com/service-terms/)

== Frequently Asked Questions ==

= How many subscribers can I have? =

There's no limit! Outreach doesn't restrict the number of subscribers or emails you can send. Your only limits are your hosting resources and email provider limits.

= Does it work with my email provider? =

Outreach works with WordPress default mail, any SMTP provider, and Amazon SES. If your host can send emails, Outreach will work.

= Is it GDPR compliant? =

Outreach includes features to help with GDPR compliance, including double opt-in, easy unsubscribe, and keeping all data on your own server. However, you're responsible for ensuring your overall email marketing practices comply with applicable laws.

= Can I import my existing subscribers? =

Yes! You can import subscribers via CSV file. The import tool allows you to map columns and assign subscribers to lists.

= Does it support email automation? =

Yes! Outreach includes a visual automation builder where you can create workflows triggered by subscriber actions like joining a list, being tagged, or subscribing to a post.

= How does the queue system work? =

Emails are added to a queue and processed via WordPress cron or external cron. This prevents timeout issues when sending to large lists and ensures reliable delivery.

= Can I use my own email templates? =

Absolutely! Use the drag-and-drop builder to create custom templates, or use the HTML code editor for complete control.

== Screenshots ==

1. Dashboard - Overview of your email marketing performance
2. Visual Email Builder - Drag-and-drop email creation
3. Campaign Editor - Create and schedule campaigns
4. Automation Builder - Visual workflow creation
5. Subscriber Management - Organize with lists and tags
6. Analytics - Track opens, clicks, and engagement
7. Amazon SES Integration - High-volume email sending

== Changelog ==

= 3.0.0 =
* Added: 13 new email drivers — SendGrid, Mailgun, Postmark, Brevo, SparkPost, Mailjet, Mandrill, Elastic Email, SendLayer, SMTP.com, Gmail, Outlook/365, Zoho Mail
* Added: AbstractAPIMailer base class for API-key-based email services
* Added: AbstractOAuthMailer base class with token management, auto-refresh, and OAuth2 flow for Gmail, Outlook, and Zoho
* Added: OAuth2 authorization, callback, and disconnect REST endpoints
* Added: Per-driver brand logos and color-coded driver selection grid
* Added: Enterprise-grade email driver settings UI with category grouping
* Improved: Sidebar navigation now shows only the active email driver
* Updated: License enforcement — SES, SendGrid, Postmark, SparkPost are Pro; SMTP and 8 others are Free

= 2.7.0 =
* Added: Configurable daily and hourly email sending limits
* Added: Sending Limits settings card in Email Driver settings
* Added: Dashboard widget with progress bars for sending limit usage
* Added: QueueWorker enforces limits with early return and batch capping
* Fixed: "Subscriber Joins List" automation trigger not firing during CSV/bulk import

= 2.6.9 =
* Fixed: PHP namespace declaration order (must be first statement after <?php)
* Fixed: Translators comments placement for WordPress i18n standards
* Added: PHPCS ignore comments for intentional unescaped HTML output
* Removed: Hidden files (.DS_Store, .gitignore, .gitattributes) from distribution
* Removed: Development script (release.sh) from distribution

= 2.6.8 =
* Changed: Standardized all prefixes to use "outreach" (WordPress.org compliance)
* Fixed: SQL injection vulnerability in subscribers query (now uses wpdb::prepare)
* Security: Added proper integer casting for pagination parameters

= 2.6.7 =
* Fixed: Settings save not working
* Changed: Default tracking values to false for new installations

= 2.6.6 =
* Fixed: External cron endpoint not processing automation queue
* Fixed: Undefined automation_id variable in webhook handler
* Improved: Trigger configuration modal styling

= 2.6.5 =
* Added: Incoming webhook trigger for external integrations (Zapier, Make, Stripe, etc.)
* Added: Trigger configuration UI for selecting lists, tags, and post types
* Added: Webhook condition fields for automation branching
* Fixed: Nested condition deletion in automation builder
* Fixed: Condition insertion detaching subsequent nodes
* Fixed: Step configuration modal timing issues

= 2.6.4 =
* Added: Template selection for campaigns
* Added: wp-config constants for SES credentials
* Added: License bypass for development sites
* Fixed: JSON decode error in campaign listing
* Fixed: Test email double-wrapping in templates
* Fixed: Campaign sent count showing double

= 2.6.3 =
* Fixed: Admin menu slug consistency
* Fixed: Vue router menu highlighting
* Fixed: CSV import file upload handling

= 2.6.2 =
* Changed: Text domain to 'outreach'
* Improved: Deactivation preserves user data

= 2.6.1 =
* Fixed: TypeError in calculate_next_send_time() for recurring campaigns
* Fixed: JSON decode issue for recurring campaign configuration

= 1.2.6 =
* Fixed: SESManager::isConfigured() method missing
* Improved: SES sender verification check

= 1.2.5 =
* Added: Post subscription system
* Added: Automatic notifications for post updates
* Improved: Automation merge tag parsing

= 1.2.4 =
* Added: Campaign statistics page
* Added: Link performance tracking
* Added: Recipient-level engagement data

= 1.2.3 =
* Added: Tag management system
* Added: Tag-based automation triggers
* Improved: Subscriber filtering

= 1.2.2 =
* Added: Template editor with visual builder
* Added: Template library
* Improved: Email preview

= 1.2.1 =
* Added: Scheduled campaigns
* Added: External cron endpoint
* Fixed: Cron scheduling issues

= 1.2.0 =
* Added: Visual automation builder
* Added: Trigger and action system
* Added: Wait steps in automations
* Added: Third-party integration hooks

= 1.1.0 =
* Added: Amazon SES integration
* Added: SES identity management
* Added: DKIM configuration
* Added: Suppression list management

= 1.0.0 =
* Initial release
* Subscriber and list management
* Visual email builder
* Campaign sending with queue
* Open and click tracking
* Double opt-in support
* SMTP configuration

== Upgrade Notice ==

= 2.6.7 =
Bug fix release. Fixes settings save issue for free users.

= 2.6.1 =
Bug fix release. Fixes recurring campaign configuration error.

= 1.2.6 =
Bug fix release. Fixes SES sender verification check.

= 1.2.0 =
Major update with visual automation builder. Create automated email workflows triggered by subscriber actions.

= 1.0.0 =
Initial release of Outreach.
