About us

We build the email host we wanted to buy

No forwarder hacks. No admin panel as the only interface. Real mailboxes on your domain, and an inbox we use ourselves every day.

2026

Founded

1

Database row to add a domain

Unlimited

Customer domains, from message one

Hello

A small team that got tired of configuring email by hand

Every cheap email host makes the same trade. Solid infrastructure, and webmail nobody enjoys. Every expensive one makes the opposite trade: a good client, per-seat pricing, and no scripting story at all.

EMayler started because adding a client domain should not be a ticket. Cloudflare Email Routing and its cousins handle inbound and then cannot send, so replying as you@yourdomain.com turns into per-user SMTP credentials distributed by hand.

So we host real mailboxes and treat send-as as an identities table. Adding a domain is an INSERT. If onboarding ever needs a config file, a deploy, or a vendor API call for anything except DKIM, we consider the design wrong and go fix it.

EMThe EMayler teamToronto, Canada
Values

Five rules we hold ourselves to

They are in the repo as hard rules, not on a poster.

Never accept mail you cannot store

If storage or the queue is down we return 4xx so the sender retries. Accepting and dropping loses customer mail permanently, and that is the one failure customers do not forgive.

Quarantine, never discard

A false positive on a customer's biggest client is worse than any amount of spam sitting in a folder. Spam goes to a folder you can open.

Tenancy is enforced in the database

Row-level security on every tenant-scoped table, with a CI test that fails the build if a policy is missing. Application filtering is not a boundary.

Onboarding a domain is an INSERT

Any design that configures something per customer domain caps growth. If it needs a deploy to add a domain, it is the wrong design.

Own inbound, rent outbound

Inbound is a technical problem and we solve it ourselves. Outbound is a reputation problem, so we rent it and keep the spam rate under 0.30%.

Team

Small team, short path from bug to fix

We are a handful of engineers. Support goes to the people who wrote the code, and every parsing bug becomes a permanent test fixture.
MTMail transportMTA, DNS, deliverability
CACore and parsingMIME, threading, fixtures
IAInbox and dashboardThe part you look at
AMAPI, MCP and SDKsGenerated from openapi.yaml
IInfrastructurePostgres, backups, restores
SSupportAnswered by engineers
Careers

See our open positions

Did not find your role? We are always interested in people who like mail plumbing. Drop us a line: careers@emayler.com

Mail Transport Engineer

EngineeringRemoteFull-time

MIME Parsing Engineer

EngineeringRemoteFull-time

Product Designer, Inbox

DesignRemoteContract

Deliverability Specialist

OperationsRemotePart-time

Developer Relations

GrowthRemoteFull-time

Get started today

Point your MX record and inbound works in minutes. Sending switches on once we have approved the domain, which protects reputation for everyone on the shared pool.

Start free
Per-domain DKIMSPF and DMARCRLS enforced
AR

Welcome back

3 unread in hello@yourdomain.com

Search your mail. Type / for commands, @ for identities.

InboxThreadsSentArchive

Meridian Law - Re: Retainer for Q3

Stripe - Invoice 4831 paid

Northwind Studio - Brand assets, final round