plugin-icon

Quillrush Newsletter Studio for Sendy

Gunjan Jaswal yazdı·
Newsletter studio for the Sendy + Amazon SES stack. Visual builder, two formats, scheduling, multi-list, auto-fetched lists.
Sürüm
1.6.2
Son güncellenme
May 29, 2026
Quillrush Newsletter Studio for Sendy

📧 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.

✨ Headline features

  • 🎨 Visual newsletter builder — drag posts in, see the rendered email update live.
  • 📨 Two newsletter formats per campaignThe Roundup (subscriber-facing) and The Insider Brief (editorial pitch for media & partners).
  • 📋 Auto-fetched Sendy lists & segments — pulled live via the Sendy API, shown as checkboxes with active subscriber counts. Cached 10 minutes; one-click refresh.
  • 🧠 Remembers your last selection — the lists you sent to last time are pre-checked next time.
  • 🔍 Infinite-scroll post search — AJAX-loads posts in batches of 10 as you scroll.
  • 🖼️ Smart hero image — uses your uploaded banner if present, otherwise falls back to the first post’s featured image.
  • 📱 Mobile-first responsive layout — 2 columns on desktop, single column on mobile (< 600px), auto-height cards.
  • 📅 Three send modes — Save as Draft in Sendy, Send Immediately, or Schedule for a future date/time.
  • 🕐 Timezone-aware scheduling — uses your WordPress timezone; shows current server time + zone next to the picker.
  • ♻️ Auto-recovery for overdue campaigns — if WP-Cron didn’t fire on time, overdue scheduled campaigns are auto-sent on next admin page-load.
  • 🛠️ Retry on failure — failed sends show the exact Sendy error + a one-click Retry Send button.
  • ⚙️ Optional cron trigger — after each send, optionally hit scheduled.php?i=BRAND_ID on your Sendy host so queued campaigns process without a server cron.
  • ✍️ Custom footer block — extra text/HTML above the footer in a highlighted box. Supports anchor tags + auto nl2br.
  • 🌐 Social footer icons — Instagram, LinkedIn, X (Twitter), YouTube.
  • 🗃️ Campaign history — every campaign stored as a qrnss_campaign custom-post-type entry with Status / Scheduled For / Error columns.
  • 🔒 WordPress-native security — nonces on every action, manage_options capability checks, wp_safe_redirect() for all redirects.

📨 The two newsletter formats

🗞️ 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.

📋 Full settings reference

🔌 Sendy Connection Settings

  • Sendy Installation URL — base URL of your Sendy install (e.g. https://sendy.yourdomain.com/).
  • API Key — from Sendy Settings Your API Key.
  • Brand ID (Optional) — from Sendy Settings Your Brand ID. Required by some Sendy versions and used for auto-fetching lists.
  • Default From Name — pre-filled into every new campaign.
  • Default From Email — pre-filled into every new campaign.
  • Auto-Trigger Cron — checkbox. After sending, hit <sendy-url>/scheduled.php?i=BRAND_ID so queued campaigns process without a system cron.
  • Show Article Excerpt — checkbox. Insert a 20-word excerpt between the post title and the “Read More” button.

🎨 Footer & Social Settings

  • Footer Logo URL — logo shown in the dark footer band.
  • Copyright Text — footer copyright line. {year} is replaced with the current year.
  • Custom Footer Text — textarea, HTML allowed. Shown in a highlighted box above the footer in The Roundup. Newlines <br> automatically.
  • “Read More Articles” Link — optional link below the post grid.
  • Instagram URL / LinkedIn URL / X (Twitter) URL / YouTube URL — social icons in footer.

✉️ The Insider Brief — Template Texts (used only by The Insider Brief format)

  • Greeting — e.g. Hi [First Name],
  • Intro Paragraph — lead paragraph above the hero story (HTML allowed).
  • Hero Section Label — small label above the hero (e.g. Hero Story).
  • Grid Section Heading — e.g. 🔍 What Else We're Seeing
  • “Why This Matters” Heading + Body
  • Collaboration Heading + Body — e.g. 📩 For Media & Collaborations + CTA bullets and contact info (HTML allowed).
  • About Us Heading + Body — centered About block above the footer.

📅 Send modes

  • 💾 Save as Draft in Sendy — POSTs to create-campaign.php with send_campaign=0. Campaign appears in your Sendy dashboard as a draft. WP logs status: draft.
  • 🚀 Send Immediately — POSTs to 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.
  • Schedule — stored as a 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.

🛟 Failure handling

Failed sends never silently disappear:

  • ❌ Red admin notice at the top of the Campaigns screen.
  • 📋 Exact Sendy error in the Error column.
  • 🔁 One-click Retry Send button (CSRF-nonced).
  • ♻️ Auto-recovery — overdue scheduled campaigns automatically send on next admin page-load.

🗄️ Campaign history (CPT)

Every campaign is stored as a qrnss_campaign custom-post-type entry. Admin columns:

  • Title — subject line.
  • Statusdraft (grey), scheduled (yellow), sent (green), failed (red).
  • Scheduled For — datetime if scheduled.
  • Error — Sendy error message if the send failed.

🔌 Sendy API endpoints used

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.

🔒 Requirements

  • WordPress 5.8 or higher (tested up to 7.0).
  • PHP 7.4 or higher.
  • A reasonably recent self-hosted Sendy installation.
  • Amazon SES configured inside Sendy (out of scope for this plugin).
Ücretsiz(ücretli paketlerde)
Kurulum işlemini tamamlayarak, WordPress.com'un Hizmet Şartları ile Üçüncü Taraf Eklenti Şartlarını kabul etmiş olursunuz.
Test edilen son sürüm
WordPress 7.0
Bu eklenti, sitenizde kullanılmak üzere indirilebilir.