My Newsletter
My Newsletter is a lightweight newsletter plugin focused on a practical use case many site owners need immediately:
- send a campaign to WordPress users,
- send a campaign to commenters,
- optionally target commenters from a specific post,
- queue the campaign and process it in the background,
- include unsubscribe links in every message,
- track basic campaign progress in the admin area.
This plugin is intentionally simple and WordPress-native. It relies on wp_mail() for sending and WP-Cron for queue processing, which makes it easy to install and use on most shared hosting environments.
Core functionality
-
Campaign composer (admin screen)
- Create a newsletter subject and HTML content.
- Use the WordPress editor for message body content.
- Choose recipient source:
- Users + Commenters
- Users only
- Commenters only
- Commenters on a specific post
-
Background queue processing
- Recipients are queued in a custom plugin table.
- Sending runs in batches through WP-Cron (instead of trying to send everything in one browser request).
- Reduces the risk of timeouts and broken sends on slower hosting.
-
Test email before full campaign
- Send a test message to any email address from the composer screen.
- Uses the same rendering path and unsubscribe footer logic as real sends.
-
Secure unsubscribe links
- Every email can include an unsubscribe URL.
- Unsubscribe tokens use an HMAC-based signature (derived from WordPress salts).
- Unsubscribed addresses are stored in a dedicated plugin table and skipped in future campaigns.
-
Template variables (placeholders)
{{site_name}}{{site_url}}{{recipient_name}}{{recipient_email}}{{unsubscribe_url}}
-
Settings screen
- From name
- From email
- Reply-To (optional)
- Max emails per cron run (batch size)
- Footer HTML (appended to outgoing emails)
-
Basic campaign tracking
- Shows recent campaigns in admin.
- Displays queue progress (total / sent / failed / queued).
How sending works (important)
This plugin uses WP-Cron. WP-Cron runs when your site receives traffic. That means:
- On active sites, sending progresses regularly.
- On low-traffic sites, sending may be slower.
For production use, it is recommended to configure a real server cron that triggers wp-cron.php periodically.
Email deliverability note
My Newsletter sends through wp_mail(). Actual delivery quality depends on your hosting and email configuration.
For best results, use:
- a real SMTP provider,
- a verified sender domain,
- properly configured SPF / DKIM / DMARC,
- a valid
Fromaddress on your domain.
Data storage
The plugin creates two custom tables:
wpnl_queue– campaign queue and send statuswpnl_unsub– unsubscribed email addresses
On uninstall, those plugin tables and plugin options are removed.
