---
title: "Getting Started"
description: "Set up Mailmark in minutes. Create your account, verify a domain, and send your first email."
source: "https://www.mailmark.dev/docs/getting-started"
site: "Mailmark"
---

# Getting Started

Go from zero to sending emails with Mailmark in under 10 minutes.

## Quick-start guide

1. **Create a Mailmark account.** Go to [mailmark.dev](/) and click Sign In. Sign up with your email or a Google/GitHub account.
2. **Add and verify your domain.** Go to Dashboard -> Domains and click Add domain. Enter your domain name and pick an infrastructure: Mailmark infrastructure (recommended) or Use my own AWS account (see [BYO-AWS](/docs/byo-aws)). Then follow the DNS instructions to verify ownership.
3. **Create a mailbox.** Once your domain is verified, create a mailbox under Dashboard -> Mailboxes, for example `hello@yourdomain.com`.
4. **Send your first email.** Use the dashboard composer, the REST API, or the `mailmark-sdk` npm package.

## Creating your account

Visit [mailmark.dev/sign-up](/sign-up) and sign up with your email or Google account via Clerk. After signing in you land on the dashboard. Your account starts on the free plan with support for one domain and up to 200 emails per day.

You can upgrade to a paid plan at any time from Dashboard -> Settings -> Billing.

## Adding your first domain

You must own and control the domain you want to send from. Mailmark does not provide domain registration.

1. Go to Dashboard -> Domains and click Add domain.
2. Enter your domain, e.g. `acme.com`.
3. Pick where the AWS resources should live: Mailmark infrastructure (default, recommended) or Use my own AWS account. The DNS records are the same either way; the choice only affects where SES / S3 / Lambda are provisioned. See [BYO-AWS](/docs/byo-aws) for the advanced flow.
4. Mailmark shows the DNS records to add at your registrar, including TXT records for SPF and DKIM. Add them all.
5. Click Verify. DNS propagation can take up to 48 hours but usually completes within minutes.

Once verified, the domain status changes to Active. See [Domain Setup](/docs/domain-setup) for the full DNS reference.

## Sending your first email

Once your domain is verified and a mailbox exists, you can send immediately.

Using the npm SDK:

```bash
npm install mailmark-sdk
# or
bun add mailmark-sdk
```

```javascript
import { Mailmark } from 'mailmark-sdk';

const client = new Mailmark('dm_live_your_api_key');

await client.send({
  from: 'hello@yourdomain.com',
  to: 'recipient@example.com',
  subject: 'Hello from Mailmark!',
  html: '<h1>It works!</h1>',
});
```

Using cURL:

```bash
curl -X POST https://api.mailmark.dev/v1/send \
  -H "Authorization: Bearer dm_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "hello@yourdomain.com",
    "to": ["recipient@example.com"],
    "subject": "Hello from Mailmark!",
    "html": "<h1>It works!</h1>"
  }'
```

Your API key is available in Dashboard -> Developer. See the [API Reference](/docs/api) for the full endpoint list.

## Next steps

- [Domain Setup](/docs/domain-setup) - configure DNS, SPF, DKIM, and DMARC.
- [Mailboxes](/docs/mailboxes) - create and manage mailboxes on your domain.
- [Email Campaigns](/docs/email-campaigns) - send bulk campaign emails with personalization.
- [API Reference](/docs/api) - full REST API reference with live playground.

---

Mailmark - email hosting and campaigns for your own domain. Canonical page: https://www.mailmark.dev/docs/getting-started | [llms.txt](https://www.mailmark.dev/llms.txt) | [OpenAPI](https://www.mailmark.dev/openapi.json) | [sitemap](https://www.mailmark.dev/sitemap.xml)
