Guide 2 of 8
Managing Inboxes
An inbox is a named email destination within a team. Every inbox has a unique address in the format
[email protected].
You can have multiple inboxes per team — one per test suite, feature area, or workflow.
Create an Inbox
Inboxes are created inside a team. The username you choose becomes the local part of the email address.
Via web UI: Navigate to your team → Inboxes → New Inbox → enter a username → Create.
Via SDK:
import { MailForkClient } from '@mailfork/sdk';
const mf = new MailForkClient({ apiKey: process.env.MF_API_KEY, orgSlug: 'acme' });
const inbox = await mf.inboxes.create({
username: 'signup-flow',
team_slug: 'qa',
});
console.log(inbox.id); // use this ID for subsequent SDK calls
console.log(inbox.status); // 'active' Pause and Resume
Pausing an inbox causes Haraka to reject inbound mail at the SMTP level with a 5.2.1 permanent failure.
No email is accepted while paused — nothing is lost, senders receive a clear rejection.
Via web UI: Open the inbox detail page → Pause Inbox. The button toggles to Resume when the inbox is paused.
Via SDK:
// Pause — Haraka rejects inbound mail with a permanent 5.2.1 failure
await mf.inboxes.update(inbox.id, { status: 'suspended' });
// Resume
await mf.inboxes.update(inbox.id, { status: 'active' }); Enable Catch-All
A catch-all inbox receives email addressed to any username under the team that doesn't match an existing inbox. This is useful for testing flows that generate dynamic addresses, or for capturing emails from third-party systems that send to unpredictable addresses.
Via web UI: Open the inbox detail page → Catch-All → toggle to Enabled.
Via SDK:
// Designate this inbox as the catch-all for the team namespace.
// Any address under the team that doesn't match a real inbox is delivered here.
await mf.inboxes.update(inbox.id, { is_catch_all: true }); Delete an Inbox
Via web UI: Open the inbox detail page → Settings → Delete Inbox → confirm by typing the inbox username in the confirmation dialog → Delete.
Via SDK:
// Permanently deletes the inbox, all its emails, and all its aliases.
await mf.inboxes.delete(inbox.id);