---
title: "Developer features"
description: "Every developer feature in Nextmail: the email API, webhooks, the typed SDK, the command line, MCP, scoped API keys and the move from Resend."
url: "https://nextmail.sh/developers/features"
---

Developers

# Everything you can build, on the mailbox your team already reads.

43 features for your code: sending, timing, events, keys and the clients that call them. Each one links to how it works.

01 · 9 features

## Write one call. Delivery is on us.

Anything that speaks HTTP can send. TypeScript, Python, Ruby, PHP, Go, Java and C# get typed clients, and every message reports back as it is queued, sent and delivered.

Intro Invoice Follow-up

Hi Sarah, good to meet you at

### Email API

Send one message or a hundred per call, now or later, and retry without sending twice.

### Templates

A body written once, versioned, and sent many times: from the composer, from your own code, or by an agent.

### Attachments

Pick them with the paperclip or paste them in. A pasted image lands in the body rather than the file list, and a file dragged onto the composer is not attached at all. In a mailbox hosted on Nextmail, incoming files sit in object storage, one object each, and a file is fetched only when you open or download it.

### Checks before you send

Your draft scored for spam, phishing and AI writing as you write it, the way a receiving server would read it.

### Sending lanes

App mail and newsletters travel separately, so a newsletter never delays a password reset.

### Dedicated IP

An IP address that only your workspace sends from, as a paid add-on for high volume.

### Address checker

Whether an address is worth sending to, before the first message.

### Automations

Emails that send themselves when someone joins a list or does something in your product.

### Events from your app

Tell Nextmail what a contact did in your product, to start an automation or end a wait.

02 · 3 features

## Send once. Exactly when you meant to.

A retry never sends twice, a send can wait up to a year, and an undo window lasts up to fifteen minutes.

Tomorrow, 8:00

queued, not sent

### Scheduled send

Write it now, land it when they are awake.

### Undo send

A window to change your mind, and the composer comes back exactly as it was.

### Remind me if nobody replies

Send a message and get it back at the top of the inbox if no reply has come by the time you pick.

03 · 5 features

## Events as they happen

Webhooks tell your endpoint the moment mail arrives, is delivered, bounces or gets a reply.

deals@spammy.io blocked sender

anyone@spammy.io blocked domain

hr@recruit.co language filter

ci@acme.dev your rule → archive

### Webhooks

Tell your endpoint when mail arrives, instead of making you poll.

### See when mail you sent was opened

Whether a message you sent has been opened, when, how many times and which of its links were followed. Off until you turn it on, and plain about the readings it cannot get.

### Rules you write yourself

Your own conditions, and what should happen to anything that matches them.

### Delivery status

Which recipients a message you sent reached, and a warning in the list when one did not.

### Sending analytics

What became of the mail you sent: delivered, bounced or reported as spam, by address and by how it was sent.

04 · 5 features

## Every door, up close.

Use the typed SDK, script the CLI, connect an agent over MCP, or speak plain HTTP.

/threads?query=invoice

{ "threads": 12 }

Same mailbox, whether a person or a program is holding it.

### REST API

A documented HTTP API with issuable, scopable, revocable keys.

### Typed SDKs

TypeScript, Python, Ruby, PHP, Go, Java and C# clients, one method for every operation.

### Command line

Your mailbox and every API operation, from a terminal or a script.

### MCP server

Point Claude, or any MCP client, at your mailbox.

### Try it in the docs

Send a real request from any page of the API reference, with a temporary key that lasts an hour and is scoped to that call.

05 · 2 features

## Access you can narrow

A key carries its own scopes, a sending address and an expiry. An app signs in with OAuth and gets only what you approve.

Sarah support@

Alex billing@

Nina careers@

read, or read and send as it, with nothing else visible

### API keys

A key per job, limited to the scopes and senders it needs, with every call logged.

### OAuth for third-party clients

Apps register themselves and sign in with PKCE, and you choose the workspace, addresses and permissions each one gets.

06 · 13 features

## Everything the app does, your code does.

Threads, search, labels, drafts and contacts are calls too, on the mailbox your team already reads.

invoice from stripe

Stripe · Invoice #4021

Stripe · Receipt for Aug

### Search by words or meaning

Forgiving words, operators like from: and has:, and search by meaning, inside the folder you are reading.

### Labels

Name a label, pick a colour, and filter the list down to it.

### Drafts

Autosaved three seconds after you stop typing, and reopened from the Drafts folder with the recipients, the subject, the body and the From address intact. The attachments stay behind.

### Recipient suggestions

The people you already write to, offered as you type. The address book syncs with Apple Contacts and other CardDAV apps.

### Thread notes

Keep a private note attached to a thread.

### Files

Every attachment this mailbox holds, in one place you can search, download and clear out.

### Snooze

Put a conversation away until a time you pick, and find it back in the inbox then.

### Mute

Silence a conversation you no longer need to follow. New replies skip the inbox and alert nobody.

### Inbox tabs

The inbox sorted into Primary, Promotions, Updates, Social and Forums, so mail from people comes first.

### AI labels

Say what a label is for in plain words, and AI adds it to new mail that fits.

### Out of office

An automatic reply from one address while you are away, with a start, an end and your own words.

### Subscriptions

Every newsletter and mailing list that writes to you, in one place to unsubscribe from, file away or block.

### Audiences

Named lists of your contacts, filled by hand or from a CSV file, to send to and to watch grow.

07 · 6 features

## Coming from Resend? Change two lines.

Point the Resend SDK at Nextmail and keep your code, then bring contacts, templates and webhooks across.

hello@acme.com

me@acme.dev

support@acme.io

one inbox

### Move from Resend

Bring your suppressions, audiences, contacts, templates and webhooks across with one key, with a checklist for your domains and API keys.

### Move from SendGrid

Point the SendGrid SDK at Nextmail and keep your code, then bring lists, suppressions, templates and webhooks across with one key.

### Move from Postmark

Point the Postmark client at Nextmail and keep your code, then bring suppressions, templates and webhooks across with one key.

### Move from Mailgun

Point the Mailgun SDK at Nextmail and keep your code, then bring mailing lists, suppressions, templates and webhooks across with one key.

### Move from Mailchimp

Bring your Mailchimp lists, subscribers and unsubscribes across with one key.

### Convert your sending code

Paste code that sends through Resend, SendGrid, Postmark or Mailgun, and get it back written for Nextmail.

## More features

Product features

The mail app itself: addresses and domains, search, writing, safety and privacy.

Agent features

MCP, temporary inboxes, safe sends and the approval that sets what an agent can reach.
