Skip to content

Inbound

Receive mail where you send it from.

Add an inbound route to a domain and DevelEmail receives, parses and stores messages for it, then posts them to your webhook.

Routes per domain

An inbound route matches a local part, or a catch-all, on a domain you have added. Each route can deliver to a webhook, send an arrival notification, or both.

  • Create, update, disable and remove routes from the CLI.
  • Check a domain’s inbound setup before you rely on it.
  • Only domains with an active route accept inbound mail.
devel inbound add mail.example.com support --webhook https://example.com/hooks/inbound

Conversations

Replies are grouped into conversations, so a thread stays together in the same product you send from. Send replies with In-Reply-To and References so clients thread them correctly.

Webhook delivery you can verify

Received mail is POSTed to the route’s webhook. Verify the signature on every request before you trust the payload.

import { verifyWebhookSignature } from '@develemail/sdk';

export async function isFromDevelEmail(rawBody: string, header: string) {
  return verifyWebhookSignature(
    rawBody,
    header, // X-Webhook-Signature: sha256=<hex>
    process.env.DEVELEMAIL_SIGNING_SECRET!,
  );
}

Access is invite-only for now

Tell us what you are sending and we will review your request.