Open source · self-hosted
Stop renting your email platform.
One system to send emails via API, manage campaigns, and schedule email — simple, convenient, and secure. Your data, your server, zero cost.
Your data stays on your server · Free to use · Any SMTP provider · AGPL-3.0
The platform
Three ways to send. One pipeline you own.
Most teams glue a marketing tool onto a separate transactional API. QQueue runs campaigns, transactional, and manual sends through a single delivery pipeline on your own SMTP — with shared contacts, tracking, and suppressions.
Campaigns
Newsletters and broadcasts to your lists — with merge fields, A/B subject tests, and per-campaign analytics.
Transactional + API
Receipts, password resets, and alerts via a public HTTP endpoint, API keys, and the qqueue-sdk.
Manual
One-off and scheduled sends composed by hand in Email Studio.
01Campaigns
Newsletters and broadcasts, minus the per-contact bill
Pick a list or a dynamic segment, write with merge fields, and send. QQueue handles delivery and shows opens and clicks as they happen — and your bill never grows with your contact count.
- Contacts, lists, and dynamic segments — built in
- Merge fields like {{first_name}} for personalized sends
- A/B subject tests and per-campaign open & click analytics
- One-click unsubscribe (RFC 8058) and automatic bounce suppression
02Transactional + API
Receipts, resets, and alerts — straight from your code
A public HTTP endpoint, API keys, and a tiny TypeScript SDK. Send app email through the same queue and tracking as your campaigns — with an Idempotency-Key so a retry never sends twice.
- qqueue-sdk or a plain HTTP POST — your choice
- API keys scoped to your organization
- An Idempotency-Key header makes retries safe
- Reuse MJML templates with {{variables}} from code
import { QQueueClient } from "qqueue-sdk"; const qqueue = new QQueueClient({ apiKey: process.env.QQUEUE_API_KEY!, baseUrl: "https://mail.example.com/api/v1"}); const email = await qqueue.sendEmail({ to: "user@example.com", subject: "Hello", html: "<p>Sent via QQueue</p>"});// → { id: "email_job_…", status: "SENT" | "QUEUED" }03Email Studio
One-off sends, by hand, when you need them
Compose a message in Email Studio and send it now, schedule it for later, or repeat it on a cron-based, timezone-aware cadence. Same pipeline, same tracking — no campaign setup required.
- Send now, schedule once, or repeat (cron-based, timezone-aware)
- Pause, reschedule, or duplicate any send
- Open and click tracking on every message
- Replies sync back via IMAP into a shared inbox
How it works
One delivery pipeline behind all three
Whether it comes from a campaign, your code, or Email Studio, every message follows the same path — accepted, queued, sent through your SMTP, and tracked. Retries, tracking, and signed webhooks are built in.
App / API / Campaign
Your code or the dashboard
QQueue
Accept · validate · template
Queue
Redis-backed jobs
Worker
Send · retry · track
SMTP / Mailcow
Your sending provider
Recipient
Inbox
Failed sends back off and re-enter the queue with attempt tracking — no lost mail at 2am.
Open pixels and signed click redirects flow back into per-message and per-campaign analytics.
delivered · opened · clicked · bounced · complained — signed and delivered back to your app.
Tracking & operations
See every send. Fix problems before they spread.
Live open and click tracking, a per-domain deliverability dashboard, automatic suppression of bounces and unsubscribes, and signed webhooks that push every event back to your app.
- Open & click tracking with HMAC-signed pixels and links
- Per-domain deliverability rates, alerts, and throttling
- Suppressions: automatic bounce and unsubscribe handling
- Signed outbound webhooks (QQueue-Signature, 5 retries) with delivery history
- A queue-ops dashboard for jobs, retries, and failures
- deliveredada@acme.com0.4s
- openedada@acme.com12s
- clickedada@acme.com31s
- bouncedstale@old.co0.8s
- complainedx@spamtrap.net2m
99.2%
Delivered
41.7%
Opens
9.3%
Clicks
Open source
Your server. Your data. Your rules.
QQueue's core is AGPL-3.0 and free to self-host. Bring your own SMTP, run it on a small VPS, and own the whole pipeline. A managed Cloud is coming for teams who'd rather not run infrastructure.
# 1 · Clone and configure$ git clone https://github.com/qqueue-app/qqueue$ cp .env.example .env # set your domain + SMTP # 2 · Launch — Caddy issues HTTPS automatically$ docker compose -f docker-compose.prod.yml up -d --buildRuns on a 2 GB VPS. Caddy handles HTTPS for you.
AGPL-3.0 · self-hosted
- Campaigns, transactional + API, Email Studio
- Tracking, queues, webhooks, suppressions
- Deliverability + queue-ops dashboards
- Free — pay only for your server + SMTP
Proprietary · managed
- Managed hosting and billing
- Deliverability intelligence, warmup
- Abuse and reputation controls
- Usage quotas and analytics
Feature-complete self-hosted beta, backed by a comprehensive test suite. Managed Cloud is on the roadmap — no signup yet.
Why QQueue
The grown-up alternative to a rented ESP
Most email platforms charge more as you grow, split marketing from transactional, and keep your data locked inside. QQueue unifies all of it on infrastructure you own.
- No per-contact fees
- Your bill doesn't balloon as your list grows. It's free and open source — you pay only for the server you run it on and your own SMTP.
- You own your data
- Contacts, content, events, and API keys live on your server — never sold, never rented, never held hostage.
- Truly open source
- AGPL-3.0 and self-hosted. No black box, no lock-in, and no platform that can shut you off overnight.
- Any SMTP provider
- Send through Mailcow, Amazon SES, Postmark, Resend, or Brevo over SMTP — and keep the deliverability you've already built.
Questions, answered
Is QQueue just for marketing, or also transactional email?
Both. Campaigns, transactional email (a public API plus the qqueue-sdk), and manual sends all run through one pipeline — sharing the same contacts, tracking, suppressions, and webhooks.
Do I need to be technical to use it?
Day to day, no — writing, scheduling, and tracking are point-and-click in the dashboard. The one technical part is the initial install: you (or a developer) deploy it once, then the whole team can use it. The transactional API and SDK are there when developers want them.
What email providers can I use?
Any standard SMTP provider — Mailcow, Amazon SES, Postmark, Resend, Brevo, and more. QQueue connects over SMTP (not provider-specific APIs), so you keep the sender reputation and deliverability you already have.
How much does it cost? What's the license?
The core is free and open source under AGPL-3.0. You pay only for the server you run it on and your own SMTP provider — there are no per-contact or per-send fees from us.
Is my data private?
Yes. Everything runs on infrastructure you control — contacts, content, events, and API keys stay on your server and are never sold or shared.
Is there a hosted version I can sign up for?
Not yet. A managed QQueue Cloud (billing, hosting, deliverability intelligence) is on the roadmap, but today QQueue is self-hosted — which is exactly what keeps your data yours and your costs predictable.
Can I schedule recurring sends?
Yes — send now, schedule for a specific time, or repeat on a cron-based, timezone-aware cadence. Pause or reschedule anytime. (QQueue does scheduled and recurring sends — not automated multi-step drip sequences.)
Sending emails has never been easier.
Open source, self-hosted, and free to run — campaigns, transactional, and manual email on your own SMTP, with no per-contact fees.
