MailWizard
Design an email, pick who gets it, and send it from your own server — no per-subscriber bill, ever.
- Drag-and-drop email builder — every template stays editable after you save
- Save one row as a block and drop it into any template you build later
- Import HTML you already have, body and design, in a single call
- One template backs any number of campaigns, each with its own subject
- Per-recipient delivery state — see exactly who was reached and who was not
- Failed addresses keep the mail server's own error text, so you know why
- Retry only what failed — nobody already delivered to is emailed twice
- An emails-per-run throttle, so a new sending domain warms up instead of burning
- Five failures in a row halt the run — an outage costs an hour, not the list
- Delivery state saved every ten sends, so a restart re-sends at most ten
- Six campaign states: pending, active, paused, stopped, completed, cancelled
- Runs on your own server and mail account — no per-subscriber SaaS bill
Inside MailWizard
A mailing desk you own outright
Design an email, attach a list of recipients, set how many go out per send run and start it. Everything runs on your own server through your own mail account — no per-subscriber bill, and nobody else holding your list.
In detail
You end up with a small, self-hosted mailing desk: three screens — campaigns, templates and blocks — your own mail account, and a recipient list that never leaves your server. Design an email, attach the people who should get it, set how many go out per send run, and start it. Every address carries its own delivery state, so you always know who was reached and who was not, and no bill grows with the size of your list.
How it works
A template holds two payloads at once: the exported HTML that actually sends, and the editor's own layout description, so the design stays editable months later. A campaign is a name, a subject, one template and a list of recipients. Starting a campaign makes it active, and a background send run works through the list — sending to at most your configured number of addresses per run and leaving the rest pending for the next one. Each address becomes SENT or FAILED on the spot, with the mail server's own error text recorded against it. When nothing is left pending, the campaign completes.
The surface you configure
| Setting | What it decides |
|---|---|
| Subject | the line every recipient sees; it lives on the campaign, not the template |
| Template | the email body — one template can back any number of campaigns |
| Recipients | the list, stored on the campaign with a per-address delivery state |
| Emails per run | the throttle, and the only pacing control there is |
| Status | pending, active, paused, stopped, completed or cancelled |
| Blocks | saved rows you drop into any template you build later |
What operators control
- Start, pause and resume a send without touching the recipients already delivered to
- Retry only the addresses that failed, up to three attempts each
- Stop and reset the whole list when you deliberately want to send it all again
- Change the per-run rate between runs — pause and reload the page first, because a save posts the whole recipient list back and a stale one re-mails everybody
- Keep the sending domain, the mail account and the list on infrastructure you own
It sends over the outbound mail transport you configure, so a working mail account is a hard requirement rather than an optional extra. And be clear about the ceiling before you buy: there is no open tracking, no click tracking, no bounce processing, and no unsubscribe link inserted for you. SENT means your mail server accepted the message and nothing more. Put the opt-out in your template — a saved block is the easiest way — and honour it yourself.
A template you can reopen, and rows you keep
Build the email by dragging rows onto a canvas. Every save writes two things: the exported HTML that actually sends, and the editor's own layout description so the template is still editable next month. Save any row as a block — a branded header, a legal footer, a signature — and it appears in the panel for every template you touch afterwards.
A block is a copy, not a live include. Inserting one duplicates its rows into the template, so editing the block later changes what the next template gets and nothing that has already gone out. That is deliberate — a footer edit must never rewrite an email somebody already approved.
Every recipient carries its own delivery state
A campaign's list is not a black box. Each address is PENDING, SENT or FAILED, and a failed one keeps the mail server's own refusal text and the number of times it has been tried. Retry failed re-queues exactly those addresses and puts the campaign back to work; nobody who already received the email is emailed again. The alternative control, Stop, resets the whole list on purpose — that is how you re-send to everyone.
Three attempts per address, then retry declines. A mailbox that no longer exists answers the same way every time, and repeatedly hitting dead addresses is the fastest way to lose a sending domain's reputation.
What you stored is what gets delivered — exactly
There is no substitution step on the way out. The template's HTML is handed to your mail server as-is, so a placeholder like %FIRSTNAME% arrives as those characters, no unsubscribe link is inserted for you, and the From address is one global setting rather than a per-campaign field. Build the template with that in mind and nothing surprises you; keep the opt-out in a saved block and every email carries it.
SENT means your mail server accepted the message. There is no open tracking, no click tracking and no bounce feed anywhere in the product, so delivery reporting has to come from your mail provider's own dashboard. If you send marketing mail where an opt-out is required by law, you add the link and you honour it yourself.
Everything included
29 capabilities, in 4 areas
Every item below exists in the source you receive. Nothing here is a roadmap.
Designing the email
The builder, and the pieces you build once and reuse.
- Drag-and-drop builder — the email is assembled from rows on a canvas
- Every save stores two things: the HTML that sends, and the editor's own layout
- Templates reopen in the editor exactly as you built them
- Import HTML you already have — name, body and design in one call
- Save any row of a template as a reusable block
- Saved blocks appear in the editor's panel for every template you build afterwards
- Blocks insert as copies, so editing one never rewrites an email already approved
- One template backs any number of campaigns, each with its own subject line
Running a campaign
Four controls, and the states they move a campaign between.
- A campaign is a name, a subject, one template and a list of recipients
- Six campaign states: pending, active, paused, stopped, completed, cancelled
- Start — hands the campaign to the send run
- Pause and resume, leaving every recipient already delivered to exactly as it was
- Stop — resets the whole list, which is how you deliberately send it again
- Cancel a campaign outright
- An emails-per-run throttle, set per campaign and changed between runs
- Delete campaigns, templates and blocks
Recipients and delivery state
What the list can tell you after a send, address by address.
- A recipient list carried on the campaign itself
- Three delivery states per address: pending, sent, failed
- An attempt count kept per address
- The mail server's own refusal text kept against every failure
- Retry failed — re-queues only the addresses that failed, and reactivates the campaign
- Recipients already delivered to are untouched by a retry
- Three attempts per address before retry declines
The send run
One background job, and the guards that keep a bad hour from costing you the list.
- A background run picks up every active campaign — no other state is looked at
- At most your configured number of addresses per run; the rest stay pending for the next
- Each address settles to sent or failed as it is attempted
- Five consecutive failures halt the run, leaving the recipients it never reached pending
- Delivery state written back every ten sends, so a restart re-sends at most ten
- The campaign completes itself once nothing is left pending
- What this is
- The standalone build of the same campaign desk that ships as MailWizard for Bicrypto — the editor, the blocks, the campaign lifecycle and the send run, with no platform around it.
- Requires
- Nothing else in this catalog. It is not an addon and does not need Bicrypto or any other product here.
- Runs on
- Your own server. There is no hosted tier.
- Mail account
- A working outbound mail account you own and configure. Every message is handed to it as-is.
- Screens
- Three: campaigns, templates, blocks
- What it stores
- Campaigns, templates and blocks — and the recipient list, which is stored on the campaign it belongs to and goes nowhere else.
- Pricing model
- Buy once. No per-subscriber fee, nothing metered, no monthly bill.
- It is not a mail service
- Sending capacity, sender reputation, SPF/DKIM/DMARC and the deliverability of every message are your mail provider's side of the line, not this product's.
- No tracking of any kind
- No open tracking, no click tracking, no bounce processing. SENT means your mail server accepted the message and nothing more — delivery reporting comes from your mail provider's own dashboard.
- No scheduling
- There is no send-at date or time. A campaign starts when you set it going, and the per-run throttle is the only pacing control there is.
- No segments or saved lists
- The audience is the list attached to one campaign. There are no reusable lists, no segments and no tags.
- No merge tags
- The template's HTML is delivered exactly as stored. A placeholder like %FIRSTNAME% arrives as those characters.
- One sender for everything
- The From address is a single global setting rather than a per-campaign field.
- No unsubscribe link
- Nothing inserts an opt-out or records one. Where the law requires an opt-out, you put the link in your template — a saved block is the reliable way — and you honour it yourself.
Loved by customers
Reviews
No reviews yet. Own it? Share your experience.
Own this product? Sign in to leave a review.