M4W SMTP Mail Scheduler is a WordPress plugin that allows you to queue and send emails using custom SMTP profiles. It intercepts wp_mail calls, stores emails in a database, and sends them asynchronously via a cron job, ensuring reliable email delivery with configurable SMTP settings.
- Email Queuing: Replaces
wp_mailto queue emails for scheduled sending. - SMTP Profiles: Configure multiple SMTP profiles with settings like host, port, and authentication.
- Profile Snapshots: Stores a snapshot of SMTP settings for each email to prevent issues from profile changes or deletions.
- Priority and Scheduling: Assign priorities to emails and schedule them for specific times.
- Admin Log Interface: View queued, sent, and failed emails with details like recipient, subject, profile, and status.
- Retry Mechanism: Automatically retries failed emails up to a configurable limit.
- Clean Logging: Limits the number of stored email logs to prevent database bloat.
- Scheduler Toggle: Enable or disable the email scheduler. When disabled, emails are sent immediately.
- Email Filters: Create rules to filter emails based on subject, body, or recipient patterns. Actions include bypass scheduling, do not send, or set custom priority.
-
Download the Plugin:
- Clone the repository or download the ZIP file:
git clone https://github.com/your-username/smtp-mail-scheduler.git
- Or upload the plugin folder to
wp-content/plugins/smtp-mail-scheduler/.
- Clone the repository or download the ZIP file:
-
Activate the Plugin:
- In the WordPress admin dashboard, go to Plugins > Installed Plugins.
- Find SMTP Mail Scheduler and click Activate.
-
Configure SMTP Profiles:
- Navigate to the plugin’s settings page in the WordPress admin (e.g., Settings > SMTP Mail Scheduler).
- Add one or more SMTP profiles with details like host, port, username, password, and encryption.
- Set an active profile for sending emails.
-
Queue Emails:
- Use WordPress’s
wp_mailfunction as usual. The plugin will intercept and queue emails using the active SMTP profile. - Example:
wp_mail('recipient@example.com', 'Test Subject', 'Test Message');
- Use WordPress’s
-
View Email Logs:
- Go to the plugin’s log page in the WordPress admin to view queued, processing, sent, or failed emails.
- Use actions to retry failed emails, remove emails, or prioritize queued emails.
-
Manage SMTP Profiles:
- Add, edit, or delete SMTP profiles in the plugin settings.
- Each queued email stores a snapshot of the profile settings to ensure consistent sending even if profiles change.
- WordPress 5.0 or higher
- PHP 7.4 or higher
- MySQL 5.7 or higher (for JSON support in
profile_settings)
This plugin is licensed under the GPLv3 or later.
Developed by [Your Name or Organization]. Inspired by the need for reliable, scheduled email delivery in WordPress.