WP Manifestindependent plugin directory
manifest / email / wp-resend-newsletter

WP Resend Newsletter

WordPress newsletter plugin: subscribers, campaigns, and queued sending via Resend API.

★ 0stars
28release downloads
v0.3.13latest · 1mo ago

Install

Download wp-resend-newsletter-v0.3.13.zip From the v0.3.13 release on GitHub, Sep 26, 2026

Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/oberonlai/wp-resend-newsletter/releases/download/v0.3.13/wp-resend-newsletter-v0.3.13.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

WordPress plugin for in-site newsletter subscriber lists, campaigns, and email sending via the Resend API (resend/resend-php).

Author: Oberon Lai (Codotx) · Version: 0.3.1 · Requires: WordPress 6.5+, PHP 8.1+

MVP scope

  • Subscriber list with double opt-in (confirm) and unsubscribe
  • Campaigns (subject + HTML/text body — no drag-drop designer)
  • Campaign delivery via Resend Broadcasts + Segments (not transactional batch blasts)
  • Bounce / complaint handling via Resend webhooks
  • Settings for API key, from address, and Resend segment_id

Resend: Broadcasts vs transactional

Use case API
Newsletter campaigns (marketing / bulk) Resend Broadcasts (broadcasts->create with segment_id and send => true). Confirmed subscribers are synced to Resend Contacts on a Segment.
Operational mail only (double opt-in confirm; optional admin test) Transactional emails / batch->send (≤50 per request). Never use this path for campaign blasts.

Local WP tables stay the source of truth for admin UI; the campaign send path is Broadcasts.

Sending domain & DNS

Production from-address must use the verified domain news.oberonlai.blog (e.g. news@news.oberonlai.blog).

Required DNS on zone oberonlai.blog (must match Resend Records exactly):

  1. TXT resend._domainkey.news (DKIM)
  2. MX send.news pri 10 → feedback-smtp.us-east-1.amazonses.com
  3. TXT send.news → v=spf1 include:amazonses.com ~all
  4. CNAME rsend.news → send.forge.rmta.net

Domain DNS is configured in Cloudflare and verified in Resend for production sends.

Explicitly out of scope (MVP)

  • Replacing global wp_mail
  • Visual email designer
  • Committing API keys or secrets to VCS

Secrets

Store the Resend API key in WordPress options / wp-config.php constants only. Never commit .env, keys, or webhook secrets. See .gitignore.

Local development

composer install
composer test:install   # uses DB wordpress_test_wprn — drops/recreates that DB only
composer test
composer phpstan
composer phpcs
composer build

Local WordPress (if present): /workspace/wordpress → http://127.0.0.1:8080 (admin/admin).

Architecture (planned)

Domain / Infrastructure (ResendClient: send_broadcast for campaigns, send_batch for transactional only) / Persistence (custom tables + Repository) / Application services / WP Admin + REST + Cron.

See spec/mvp/overview.md for the full plan.

Releases

6 releases. Each count is every asset in that release; expand a row for the breakdown.

Tag
Published
Assets
Downloads
v0.3.13 latest
Sep 26, 2026 1mo ago
wp-resend-newsletter-v0.3.13.zip
6
Sep 18, 2026 1mo ago
wp-resend-newsletter-v0.3.12.zip
3
Sep 18, 2026 1mo ago
wp-resend-newsletter-v.zip
3
Sep 18, 2026 1mo ago
wp-resend-newsletter-v0.3.8.zip
4
Sep 18, 2026 1mo ago
wp-resend-newsletter-v0.3.7.zip
4
Sep 18, 2026 1mo ago
wp-resend-newsletter-v0.3.6.zip
8