Notix
Inbound email

Receive email on your domain, then send it where it needs to go.

Support requests, replies and invoices sent to your own addresses land in Notix. Read them in the console, pull them from the API, get each one at your webhook, and forward copies to the people who need them.

Your domain

One MX record and your addresses are live

Receive on a domain you already send from, or on a subdomain of it, so your existing mailboxes keep working.

Turn on receiving

Open a verified domain, pick the name to receive on and press Turn on receiving. The console shows the MX record to add at your DNS provider, with priority 10, and checks it for you.

Example record. Copy the real value from the console
Type   Host                 Value                                   Priority
MX     inbound.acme.com     inbound-smtp.eu-west-1.amazonaws.com    10
  • Every inbox also has a Notix address that works straight away
  • Mail to an address without its own inbox goes to your first inbox
  • Turn it off in one click; Notix stops accepting mail for the name at once

acme.com

Receiving on inbound.acme.com
Receiving
RecordHostStatus
MXinbound.acme.comFound
TXTnotixin._domainkey.inbound.acme.comFound

Mail to any address on inbound.acme.com is accepted and kept.

Read it

Your mail, in the console and in your code

The same message is in the shared inbox, in the API and at your webhook.

A shared inbox for the team

Received mail lives under Emails, then Receiving. Anyone on the team can open a message, read it and download its files.

Receiving

billing@inbound.acme.com
FromSubjectReceived
chidi@example.comInvoice 4471 is wrong2 min ago
partner@example.comRe: Delivery schedule1 h ago
lead@example.comPricing for 20 seatsYesterday
noreply@bank.exampleStatement readyYesterday
Read received mail with notix-js
import { Notix } from "notix-js";

const notix = new Notix(process.env.NOTIX_API_KEY);

// The newest messages your inboxes received.
const { data: page } = await notix.inbound.list();

// One message, then its files.
const { data: message } = await notix.inbound.get(messageId);
const { data: files } = await notix.inbound.listAttachments(messageId);
const { data: link } = await notix.inbound.getAttachmentLink(messageId, attachmentId);
Forwarding

Forward each message to the right person

Rules decide which addresses forward and where to. Forwards go from your own domain, so they pass SPF, DKIM and DMARC.

As received, or as a forwarded message

By default a rule sends each email on exactly as it arrived. Switch it to a forwarded message and the copy reads the way a mail app forwards it: your note on top, the Forwarded message block, then the email, with Fwd: in the subject.

  • An optional note of up to 2,000 characters
  • Reply-To is the original sender, so a reply goes back to them
  • Senders Notix could not confirm are marked [Unverified sender]
Invoice 4471 is wrongFrom: Chidi Okafor via Billing <billing@acme.com>Reply-To: chidi@example.comTo: amina@acme.com
Hello, the total on invoice 4471 is wrong. Can you check it?
notix.forwarding.updateRule(ruleId, { passthrough: true })

Rules for one address, a prefix or the whole domain

A pattern can be one exact address, every address that starts with a prefix such as orders-*@inbound.acme.com, or every address on your receiving domain. Add a subject prefix and pick the From address on your verified domain.

Forwarding only reaches addresses that confirmed they want the mail, and the tester tells you which rule an address would use before you rely on it.

forwarding.ts
const { data: destination } = await notix.forwarding.addDestination("amina@acme.com");
// Amina gets a link to confirm. Nothing is forwarded to her before she does.

await notix.forwarding.createRule({
  name: "Billing to Amina",
  pattern: "billing@inbound.acme.com",
  destinationIds: [destination.destination.id],
  fromAddress: "billing@acme.com",
  subjectPrefix: "[Billing]",
});

// Which rule would this address use?
await notix.forwarding.test("billing@inbound.acme.com");
Safe by default

Receiving that does not cause trouble

1 MXrecord to receive on your domain
2,000characters for a note on a forward
100forwards in 10 minutes before a rule pauses
24 hfor a destination to confirm

Spam and virus checks

A message that fails the spam or virus check stays in the inbox's Spam view and is never forwarded.

No loops, no echoes

Messages Notix already forwarded, out-of-office replies, bounces and duplicates are skipped and logged with the reason.

A log for every rule

Each forward and each skip is in the rule's log, in the console or with notix.forwarding.log(ruleId). See the forwarding guide.

FAQ

Questions, answered

Do I need my own domain to receive email?
No. Every inbox gets a Notix address that works straight away. To receive at addresses like billing@inbound.acme.com, add one MX record on a domain you have verified for sending, or on a subdomain of it.
Should I receive on my main domain or a subdomain?
Use a subdomain such as inbound.acme.com if anyone already gets email at your main domain through Google Workspace or Microsoft 365. A domain has one set of MX records, so pointing the main domain at Notix would move all of that mail.
How do I read the mail I receive?
Three ways: in the console under Emails, then Receiving; with the API through notix.inbound.list and notix.inbound.get; or by registering a webhook and receiving the email.received event for each message.
Who can I forward to?
Any address that has confirmed it wants the mail. Notix emails the address a link that works once for 24 hours, and nothing is forwarded to it before it is confirmed. Forwards are sent from your own verified domain, never as the original sender, with Reply-To set to the sender when Notix could confirm them.
What is the difference between as received and as a forwarded message?
As received (the default) sends the email exactly as it arrived. As a forwarded message sends it the way a mail app forwards: an optional note from your team of up to 2,000 characters, a Forwarded message block with the original sender, date and subject, then the email, with Fwd: in front of the subject.
Can a forwarding rule run away and send too much?
No. A rule that forwards more than 100 messages in 10 minutes pauses itself, and it skips loops, out-of-office replies, bounces and duplicates. Every forward, and every message a rule did not forward, is in the rule's log with a reason.

Start receiving in minutes.

Your first inbox has an address the moment you sign up. Add an MX record when you want your own domain.