=== SMTP (by ROBOTSTXT) Newsletter === Contributors: robotstxt Tags: newsletter, smtp, email, bulk, queue, worker, amazonses, statistics Requires at least: 4.7 Tested up to: 6.9 Requires PHP: 7.2 Stable tag: 2.2.0 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Integrates ROBOTSTXT SMTP configuration with Newsletter plugin for reliable bulk email delivery with database-backed queue and external workers. == Description == SMTP (by ROBOTSTXT) Newsletter connects your Newsletter plugin with ROBOTSTXT SMTP and Amazon SES plugins, providing **reliable, scalable bulk email delivery** through a database-backed queue system with external worker processes. = Key Features = * **Database Queue**: Persistent email queue survives server restarts and crashes * **External Workers**: CLI worker script for asynchronous processing independent of WordPress cron * **Parallel Processing**: Run multiple workers simultaneously for high-volume campaigns * **Automatic Retry**: Failed emails retry up to 3 times with exponential backoff * **Real-Time Statistics**: Monitor queue status and campaign performance * **Campaign Metrics**: Track speed, duration, success rate for each campaign * **Amazon SES Support**: Native integration with Amazon SES API * **Rate Limiting**: Respects ROBOTSTXT SMTP rate limits * **Scalable**: Handle campaigns of any size with parallel workers = Architecture = **Version 2.2.0 introduces a queue-based architecture:** * Newsletter campaigns are queued to database instead of sent immediately * External worker processes pick up queued emails and send them via wp_mail() * Statistics are tracked and preserved even after queue cleanup * Multiple workers can run in parallel for high-volume sending = Performance & Reliability = **Reliability:** * Emails persisted to database - no data loss on crashes * Automatic retry with exponential backoff (5min → 15min → 30min) * Stale lock recovery prevents stuck emails **Scalability:** * Support for 10+ parallel workers * Process 10,000+ emails per hour with proper worker setup * Campaign statistics track actual sending speed **Monitoring:** * Real-time queue status (pending, processing, sent, failed) * Campaign metrics (start time, duration, speed, success rate) * Detailed email queue view in admin = Requirements = * Newsletter plugin 9.0.0 or higher * ROBOTSTXT SMTP plugin 2.0.0 or higher * (Optional) ROBOTSTXT SMTP Amazon SES plugin 1.0.0 or higher * CLI access for worker setup (cron or process supervisor) = Setup = **Installation:** 1. Install and activate the plugin 2. Go to Newsletter → SMTP (by ROBOTSTXT) 3. Enable integration and configure batch size **Worker Setup (Required):** Set up a cron job or process supervisor to run the worker: `* * * * * php /path/to/wp-content/plugins/robotstxt-smtp-newsletter/worker.php 10 "w1"` For parallel processing (10 workers): `* * * * * seq 1 10 | xargs -P10 -I{} php /path/to/worker.php 10 "w{}"` See Settings → SMTP → Queue Worker Configuration for detailed commands. = Monitoring = Access statistics via: * **Newsletter → SMTP (by ROBOTSTXT)** - Queue status and recent campaigns * **Newsletter → Email Queue** - View all queued and sent emails * **Newsletter → Statistics** - Detailed campaign performance metrics = Recommended Settings = **For Standard SMTP Providers (SendGrid, Mailgun, etc.):** * Batch Size: 10-20 * Max Per Connection: 50-100 **For Amazon SES:** * Batch Size: 50 **For Gmail/Outlook:** * Batch Size: 5 * Max Per Connection: 20 == Installation == 1. Install and activate Newsletter plugin 2. Install and activate ROBOTSTXT SMTP plugin 3. Configure SMTP settings in ROBOTSTXT SMTP 4. Upload this plugin to `/wp-content/plugins/` 5. Activate the plugin through the 'Plugins' menu 6. Go to Newsletter → ROBOTSTXT SMTP to configure == Frequently Asked Questions == = Do I need to configure SMTP settings? = No. The plugin uses the SMTP configuration from ROBOTSTXT SMTP plugin. = Does this work with Amazon SES? = Yes! If you have ROBOTSTXT SMTP Amazon SES plugin active, this plugin will automatically use SES API for even better performance. = Will this work with my current Newsletter campaigns? = Yes. This plugin seamlessly integrates with Newsletter's sending engine. Your existing campaigns will automatically benefit from improved performance. = What is SMTPKeepAlive? = SMTPKeepAlive is a PHPMailer feature that keeps the SMTP connection open between emails. Instead of connecting for each email, one connection is used for multiple emails, dramatically improving speed. = How much faster is this compared to default Newsletter sending? = In typical scenarios, you'll see 20-30x performance improvement. For example: * 10,000 emails: From 8-10 hours to 35 minutes * 50,000 emails: From 2 days to 3 hours = Does this respect rate limits? = Yes. The plugin integrates with ROBOTSTXT SMTP rate limiting system to ensure you don't exceed your provider's limits. == Changelog == = 1.0.0 = * Initial release * SMTPKeepAlive support for SMTP * Amazon SES API integration * Batch processing * Settings page in Newsletter admin * Rate limiting integration == Upgrade Notice == = 1.0.0 = Initial release of SMTP (by ROBOTSTXT) Newsletter.