Flashify SMTP Manager
A lightweight, production-focused WordPress plugin for configuring SMTP email delivery, with debugging tools, logs, and failed-email retries.
by Shashika De Silva · github.com/shashikadesilva27/flashify-smtp-manager · website
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/shashikadesilva27/flashify-smtp-manager/archive/refs/heads/main.zipA lightweight, production-focused WordPress plugin for configuring SMTP email delivery, with debugging tools, logs, and failed-email retries.
Features
- SMTP configuration management
- PHPMailer integration
- Failed email capture
- Email resend queue
- Debug log viewer
- SMTP presets
- Custom database table for failed emails
- Admin interface for monitoring delivery issues
- Lightweight architecture
Technical Highlights
- Hook-based WordPress architecture
- Uses
phpmailer_initfor SMTP injection - Uses
wp_mail_failedfor failure capture - Stores failed emails in a custom SQL table
- Logging support for troubleshooting
- Class-based plugin structure
Architecture
The plugin is designed as a small set of focused components that hook into WordPress mail flow, capture failures, and provide operational tooling in the admin area.
Components
-
Admin UI
- Settings page for SMTP configuration and presets
- Test email tool
- Log viewer (tail-style)
- Failed email queue viewer with resend actions
-
Mailer / SMTP Injector
- Hooks into
phpmailer_init - Applies configured SMTP host/port/encryption/credentials
- Sets timeouts and optional SMTP debug output for troubleshooting
- Hooks into
-
Failure Capture + Queue
- Hooks into
wp_mail_failed - Stores failed emails (to/subject/message/headers/attachments) in a custom table
- Tracks attempts, last attempt time, and status (
queued,sent,dead)
- Hooks into
-
Logger
- Writes operational logs to a file for debugging and audit purposes
- Used across settings, sending, queue retries, and failure handling
Data Flow
- WordPress triggers an email via
wp_mail() phpmailer_initruns and injects SMTP configuration into PHPMailer- If sending fails,
wp_mail_failedfires and the plugin records the failure - Admin can review logs and resend queued emails from the dashboard
- Retry logic updates attempts and marks messages as
sentordeadafter max retries
Database
A custom table stores failed emails to avoid polluting wp_posts and to keep queue operations fast:
idmail_tomail_subjectmail_messagemail_headersmail_attachmentsstatusattemptserror_textcreated_atlast_attempt_at
Use Cases
- WooCommerce stores
- Membership systems
- API-heavy platforms
- Production email troubleshooting
- SMTP reliability monitoring
Installation
- Upload the plugin folder to
/wp-content/plugins/ - Activate the plugin
- Configure SMTP settings
- Send a test email
Security Notes
- No credentials included
- Logs should not be publicly accessible
- Recommended to use environment-specific SMTP credentials
Author
Shashika De Silva
Senior PHP & WordPress Systems Engineer