Quickstart
Get MepMail running and send your first email in a few minutes.
MepMail runs the same whether we host it for you or you run it yourself — same dashboard, same API, same SDKs. Pick your deployment below; the tabs remember your choice across the docs.
1. Get MepMail
Accounts are provisioned by invitation — there is no public signup. Write to us
and we set up your account, then you sign in at
mepmail.je4ndev.com. The API is at
api-mepmail.je4ndev.com.
2. Verify a sending domain
MepMail only sends from domains you have verified.
- In the dashboard, go to Domains and add a domain you control
(e.g.
acme.dev). - Add the DNS records it shows you — a DKIM TXT record plus MAIL FROM records — at your DNS provider.
- Click Verify DNS records. MepMail also resolves the records live, so you can see immediately which ones are still missing.
Validation is asynchronous on the DNS provider's side: DKIM usually resolves in minutes, MAIL FROM can take longer. MepMail re-checks on its own every 15 minutes, so you never have to click twice.
3. Create an API key
Go to API keys and create one. The ms_ token is shown once — copy it
now. Keys can be scoped to full access or sending-only, and optionally pinned
to a single domain.
4. Send an email
Your API base URL:
https://api-mepmail.je4ndev.com
With curl:
curl -X POST https://api-mepmail.je4ndev.com/emails \
-H "Authorization: Bearer ms_..." \
-H "Content-Type: application/json" \
-d '{
"from": "Acme <[email protected]>",
"to": ["[email protected]"],
"subject": "Hello from MepMail",
"html": "<strong>It works!</strong>"
}'Or with the official Resend SDK for Node (npm install resend), pointed at your
base URL:
import { Resend } from "resend";
const resend = new Resend("ms_...", {
baseUrl: "https://api-mepmail.je4ndev.com",
});
const { data, error } = await resend.emails.send({
from: "Acme <[email protected]>",
to: "[email protected]",
subject: "Hello from MepMail",
html: "<strong>It works!</strong>",
});
if (error) console.error(error.name, error.message);
else console.log("sent", data.id);Both return { "id": "..." }. Watch the email move from queued to
delivered on the Emails page.
On a self-hosted instance, delivery events (delivered, bounced, complained) require the SES event pipeline configured in Self-hosting → SES events. On the managed service they flow automatically.
Already on Resend? Keep the SDK you have and point it here: set the base URL to
your MepMail origin and use your ms_ key. The wire format is identical, and
SDKs has the exact option for each language — including the ones that
only read it from an environment variable.
Next steps
- Concepts for contacts, segments, topics, and broadcasts.
- SDKs for how to point each official Resend SDK at your instance.
- API reference for every endpoint.
- Self-hosting for production deployment, the environment reference, and the SMTP relay.