
📧 Quillrush Newsletter Studio for Sendy turns your WordPress dashboard into a full-blown newsletter creation studio for the Sendy + Amazon SES stack. Drag your latest posts into a beautiful responsive HTML email, pick the Sendy lists/segments to ship to, and send via your self-hosted Sendy installation, which forwards every message through Amazon SES. No HTML coding. No external SaaS. No paid tier.
⚠️ Requires a self-hosted Sendy install backed by Amazon SES. This plugin is the WordPress front-end — it does not replace Sendy or SES. If you don’t have Sendy + SES set up yet, see sendy.co and aws.amazon.com/ses.
scheduled.php?i=BRAND_ID on your Sendy host so queued campaigns process without a server cron.nl2br.qrnss_campaign custom-post-type entry with Status / Scheduled For / Error columns.manage_options capability checks, wp_safe_redirect() for all redirects.🗞️ The Roundup — visual hero + 2-column story grid for your subscribers. Uses the “Custom Footer Text” highlighted box.
✉️ The Insider Brief — personal greeting, lead paragraph, centered hero with featured image, “What Else We’re Seeing” 2-column grid, “Why this matters” callout, “For Media & Collaborations” CTA block, and a centered About Us block. Built for media pitches & partner updates. All copy editable from Settings The Insider Brief — Template Texts.
Pick the format per-campaign on the Create Newsletter page (Design Settings Newsletter Format). Header and dark footer (logo, social, copyright, unsubscribe) are shared across both formats.
🔌 Sendy Connection Settings
https://sendy.yourdomain.com/).<sendy-url>/scheduled.php?i=BRAND_ID so queued campaigns process without a system cron.🎨 Footer & Social Settings
{year} is replaced with the current year.<br> automatically.✉️ The Insider Brief — Template Texts (used only by The Insider Brief format)
Hi [First Name],Hero Story).🔍 What Else We're Seeing📩 For Media & Collaborations + CTA bullets and contact info (HTML allowed).create-campaign.php with send_campaign=0. Campaign appears in your Sendy dashboard as a draft. WP logs status: draft.create-campaign.php with send_campaign=1. Sendy queues + dispatches via SES. WP logs status: sent. If Auto-Trigger Cron is on, also hits scheduled.php?i=BRAND_ID.qrnss_campaign post with status scheduled. WordPress registers a one-off wp_schedule_single_event for the chosen datetime. When the event fires, the plugin sends via Sendy. Datetime picker is timezone-aware and uses your WP timezone setting.Failed sends never silently disappear:
Every campaign is stored as a qrnss_campaign custom-post-type entry. Admin columns:
draft (grey), scheduled (yellow), sent (green), failed (red).All requests go straight to your own self-hosted Sendy installation at the URL you set in Settings. The plugin never talks to any third-party SaaS — Sendy itself fans out to Amazon SES from your host.
api/lists/get-lists.php — fetch lists for the Create Newsletter screen (cached 10 min). Sends: api_key, brand_id.api/subscribers/active-subscriber-count.php — per-list subscriber counts. Sends: api_key, list_id.api/campaigns/create.php — Save as Draft, Send Immediately, scheduled fire. Sends: api_key, from_name, from_email, reply_to, title, subject, html_text, plain_text, list_ids, brand_id, send_campaign.scheduled.php (your Sendy host) — only when Auto-Trigger Cron is ticked. Sends: i=BRAND_ID query param.