Hoquiam
Products / Mail & messages

Hoq Mailer

Your list, the consent behind each address, and the email you send.

What it does

Hoq Mailer runs email marketing for one sender at a time: contacts, lists, tags, custom fields, segments, signup forms, campaigns and automations. Each sender is one Mailer file in its owner's Hoq Storage drive.

Every subscription has a consent record. The record is append-only and hash-chained, so you can show how and when each person agreed. A contact who unsubscribed, bounced or complained is never added back by an import or a form post.

You choose how mail leaves. Connect your own SMTP server, Amazon SES or Emailit to each sender. Credentials are sealed with AES-256-GCM outside the file and never shown again. Each channel has its own rate limits, sending window and circuit breaker.

Sending is crash-safe. A message row is committed as sending before the transport is called. If the worker dies mid-batch, the row is marked unknown and counted on the campaign page. It is never sent twice.

In numbers

11content blocks in the drag-and-drop email designer
7automation triggers, from list joined to a date field coming round
11automation steps, including waits, branches on a segment and go-back loops
3sending services you can connect: SMTP, Amazon SES, Emailit
0.3%complaint rate that pauses a sending channel

Specifications

Where your list livesOne .mailer file per sender in your own Hoq Storage drive: contacts, consent log, campaigns, sends and automations.
Sending channelsYour own SMTP server (STARTTLS, verified TLS), Amazon SES (SESv2 API, SNS events) or Emailit. Set per sender.
Channel secretsSealed with AES-256-GCM in a separate store, bound to the sender and channel. Write-only in the console and never exported.
Authentication checkA channel is checked by a test message: SPF, DKIM and DMARC results are read from the received headers, including DKIM over both unsubscribe headers.
UnsubscribeSigned one-click List-Unsubscribe links, a preferences page with per-list choices, and unsubscribe by replying to the email.
Bounces and complaintsHard bounces and complaints suppress the address at once. Three soft bounces in 30 days count as a hard bounce. Complaints above 0.3% of 30 days of mail pause the channel.
Open and click countingEach open and click is labelled human, privacy proxy or link scanner. Reports lead with human clicks.
Signup form protectionRandomized honeypot, signed time stamp, throwaway and no-MX domains refused, ten signups per connection per ten minutes.
ErasureErasing a person nulls their data at once and keeps only a keyed digest, so a later import cannot add them back.
Sign-inHoq ID single sign-on. API and MCP access by Hoq ID keys with scope mailer:use.

Features

24 features, all shipped. Listed from the product's code and documentation; each row shows the day it was last checked.

Audience 6
Contacts, lists and tagsKeep people in lists with tags and typed custom fields, and change them in bulk.
Consent recordEvery subscribe, confirm and unsubscribe is written to an append-only, hash-chained log you can verify.
SegmentsBuild saved segments from a fixed set of subjects and operators, with a live count.
CSV importImport a CSV with delimiter sniffing; role and throwaway addresses are held back and nobody who left is resubscribed.
Mailster importBring a Mailster list across with statuses, confirmation dates, list joins, bounces and custom fields.
Export and erasureExport contacts as CSV, export one person's data, or erase a person.
Campaigns 6
Drag-and-drop designerDesign with 11 blocks on the real email, with desktop, phone and dark previews, undo and autosave.
Letter formatWrite in Markdown and get email-safe HTML in your brand colour and font, with a plain-text part.
Pre-send checksA campaign will not start without a sender, postal address, subject, body, a working channel and an audience; warnings flag Gmail's 102 KB clip, missing alt text and http links.
Test, schedule, pauseSend a test, schedule a campaign, pause, resume or cancel it.
Click taggingTag whoever clicks a given link; clicks from link scanners tag nobody.
Campaign reportDelivered, bounced, complaints, human-estimated opens beside all opens, and clicks.
Sending 4
Your own SMTPSend through any SMTP server, one session per batch, with VERP bounce addresses.
Amazon SESConnect sets up domain DKIM, a configuration set and SNS events, and imports SES's suppression list.
EmailitSend through Emailit's API with idempotency keys, signed webhooks and its suppression list kept in sync.
Limits per channelPer-second, hourly and daily caps, a sending window in your timezone and a breaker that rests a failing channel.
Forms and pages 4
Signup formsHosted page or embed script with a no-script fallback; single or double opt-in.
Newsletter archiveA public archive per sender with issue pages, RSS and a signup box; you choose which campaigns appear.
Web version and preferencesEach email has a web version and a preferences page where people pick lists and tracking consent.
Tracking consentTrack everyone, only people who agreed, or nobody.
Automation 3
Versioned workflowsEditing a live workflow writes a new version; people on a removed step leave with a reason.
Exactly-once stepsEach step is recorded with its effect, so a crash never sends a step's email twice.
Imports never triggerImporting a list never starts a welcome series.
Access 1
JSON API and MCP89 actions over one JSON door, also offered as MCP tools for AI agents.

Works with

  • storageEach sender's Mailer file sits in your Hoq Storage drive.
  • Hoq FormsA Hoq Forms signup reaches the Mailer with the person's own consent and a confirmation when the list needs one.

Your data

Where it is keptOne .mailer file per sender in your Hoq Storage drive. Sending credentials are sealed separately on Hoq's servers.
Getting it outContacts as CSV from the console, one person's data on request, and the .mailer file itself from your drive.
If you leavenot published

APIs and standards

  • JSON API: POST /api/mailer/w/{key} with a Bearer key (scope mailer:use)
  • MCP server at /mcp/mailer: one tool per action (89)
  • Signup door: POST /f/{key}, JSON or a plain form, CORS-open
  • Event webhooks in: Amazon SNS, Emailit, raw DSN and ARF reports
  • Standard: SMTP with STARTTLS
  • Standard: List-Unsubscribe one-click (RFC 8058)
  • Standard: VERP
  • Standard: SPF
  • Standard: DKIM
  • Standard: DMARC
  • Standard: ARF complaint reports
  • Standard: RSS

Compared

Checked 2026-11-01Hoq MailerMailchimp EssentialsKit Creator
Cheapest paid tierNot publishedFrom $13/mo (Essentials, 12-month offer)1$33/mo for 1,000 subscribers ($390 billed yearly)2
Send through your own SMTP or SESYes: SMTP, Amazon SES or Emailit, per sendernot published1not published2
AutomationsVersioned workflows, 7 triggers, 11 stepsUp to 4 flow steps on Essentials1Unlimited visual automations2
A/B testingNoPremium plan only12 subject lines2
Team seatsnot published3 seats12 users2
Landing pagesHosted signup page and newsletter archive; no page buildernot published1Unlimited landing pages2
APIJSON API and MCP servernot published1Yes2
Remove vendor brandingNo Hoq branding in campaignsIncluded1not published2
  1. https://mailchimp.com/pricing/marketing/
  2. https://kit.com/pricing