Your AWS SES. Your dedicated Mailat. See how it works
Mailat Journal

Amazon SESEmail receivingEmail inboxSelf-hosting

Email Receiving with Amazon SES: Add an Inbox with Mailat

Set up email receiving with Amazon SES and get a web inbox with Mailat. Learn how domains, MX records, mailboxes and catch-all routing work.

By Ibrahim Sherbeny7 min read
Paper envelopes travel from a cloud into a green inbox tray, illustrating email receiving with Amazon SES and Mailat.
In this article

You have a domain, an AWS account and a simple wish: send an email to [email protected], then open an inbox and read it. Where is the inbox button in Amazon SES?

Email receiving with Amazon SES is possible, but SES does not give you a ready-made webmail inbox. It handles the receiving infrastructure. Mailat adds the web application where you read messages, reply, organize mail and give teammates their own accounts.

If you have been searching for an Amazon SES inbox, this guide connects those pieces. You will learn what to configure, how incoming mail reaches Mailat, and what to check when your domain can send but cannot receive.

Does Amazon SES have an email inbox?#

SES can accept incoming email and process it through receipt rules. It does not provide POP or IMAP servers for opening that mail in a conventional email client. AWS describes receiving as a set of processing actions, rather than a complete mailbox product. AWS receiving concepts

Mailat provides the missing interface: a browser inbox on your own installation, backed by your AWS account.

You need The part that handles it
Accept mail sent to your domain Amazon SES receiving
Store the original received messages and attachments Private Amazon S3 storage
Notify Mailat when a message arrives Amazon SNS
Route the message to the right mailbox Mailat
Read, reply, search, label and organize Mailat's web inbox

This is a webmail setup. Mailat currently does not offer IMAP, POP3 or SMTP submission for desktop mail clients.

How an Amazon SES inbox works with Mailat#

Imagine a customer sends a message to [email protected].

Customer sends a message
    → Your domain's receiving MX points to SES
    → SES applies the receiving rule
    → The message is saved in private S3 storage
    → A signed SNS notification reaches Mailat
    → Mailat routes it to the matching inbox

The address the customer uses stays ordinary. They do not need to know about buckets, notifications or APIs. You open Mailat and see their message.

A mailbox login can have its own inbox. An owner or member can also have several identities, with their own mail available in one interface. Mailat's normal application permissions keep users' private mail separate; owning the organization does not add a dashboard for reading everyone's inbox. The infrastructure administrator still controls the underlying server and storage.

Before you enable email receiving#

Have these ready:

  • A domain you own and access to its DNS settings.
  • A running Mailat installation with a public HTTPS URL.
  • AWS credentials configured with the permissions Mailat needs for SES, S3 and SNS.
  • A supported SES receiving Region, used consistently for the receiving setup.
  • A decision about whether this domain's incoming mail should move to Mailat.

AWS receiving support depends on the Region. Follow the current AWS receiving setup guide and Mailat's self-hosting instructions for the required permissions and resources.

That last decision matters. If Google Workspace, Microsoft 365, Migadu or another service already receives mail for your domain, changing its root MX changes where incoming mail goes. You can keep using Mailat for sending while leaving receiving with that provider.

Set up email receiving with Amazon SES and Mailat#

1. Add and verify your domain#

Open Domains in Mailat and add the domain you want to use. Complete the SES verification and sending DNS steps shown for it.

Domain verification and receiving are separate steps. A verified sender is not yet a working inbox.

2. Enable receiving for that domain#

On the domain card, find Receiving (MX) and choose Enable receiving. Review the confirmation before proceeding.

Mailat prepares its receiving resources through SES, S3 and SNS. The installation needs the correct AWS permissions, and AWS must be able to reach its public notification endpoint. If your AWS account already has receipt rules for another application, review that configuration as part of setup.

3. Publish the receiving MX shown by Mailat#

Mailat displays the exact receiving record for the domain's Region. For a root domain using us-east-2, an example is:

Type Name Priority Mail server
MX @ 10 inbound-smtp.us-east-2.amazonaws.com

Use the value shown for your domain, not a Region copied from an unrelated tutorial. AWS publishes regional receiving MX instructions. AWS receiving MX guide

You can add the record yourself. If you use Mailat's Cloudflare connection, the domain card also offers Add MX to Cloudflare. That action checks for conflicting root MX records rather than overwriting a different email provider.

The MX on a custom MAIL FROM subdomain such as bounce.example.com is a different record. It does not make [email protected] receive mail in Mailat.

4. Create the mailbox you want to open#

Open Mailboxes, select the verified domain and choose New mailbox.

For a teammate, send a setup invitation to an existing outside email address, or set an initial password and share it securely. A mailbox user gets a mail-focused interface rather than administration pages.

For addresses such as sales@ or support@, decide whether you need a separate login, an alias for one person, or a shared mailbox. The custom-domain address guide explains those choices.

5. Re-check and send yourself a test#

Use Re-check in the receiving section after updating DNS. Then send a clear test message from an outside account you control to the exact mailbox address.

Open that mailbox in Mailat, read the message and reply. Confirm the reply reaches your outside account too. Checking both directions helps separate an incoming-mail problem from a sending problem.

What the receiving status means#

Mailat makes the DNS step visible on the domain card:

Status What to check
Off Receiving has not been enabled for this domain.
On – MX missing Receiving is enabled, but the expected MX is not visible.
Published The expected receiving MX is visible. Continue with a real mailbox test.
Points elsewhere Existing MX records route mail elsewhere. Decide whether you intend to migrate receiving.
Unknown The lookup could not establish the current state. Re-check and inspect DNS.

A published MX proves one part of the setup. Receipt rules, permissions, storage and notifications must also work before the message appears in your inbox.

Catch-all mail without losing individual mailboxes#

You can choose one receiving mailbox as the domain's catch-all. It receives mail for addresses that do not match an existing route.

For example, with [email protected] as catch-all and a separate [email protected] mailbox, a message to Alex stays with Alex. A message to an otherwise unused [email protected] address can reach the catch-all.

Mailat checks an exact address first, then the base mailbox of a plus address, then an assigned send-as alias, and finally the catch-all. Catch-all is convenient, but it can also collect unwanted mail sent to guessed addresses. Enable it because you want that behavior, not because every domain needs it.

Frequently asked questions#

Why can my SES domain send email but not receive it?#

Sending verification does not configure inbound delivery. Check whether receiving is enabled, whether the receiving MX is published, and whether the SES-to-S3-to-SNS path reaches Mailat.

Can I keep my existing inbox provider?#

Yes. Keep Mailat in sending-only mode for that domain and leave the existing root MX intact. To test Mailat receiving independently, use a separate domain or deliberately configured subdomain.

Can I receive Gmail mail in this SES inbox?#

This setup receives mail for domains you control and route to SES. It does not log in to Gmail or import a Gmail mailbox.

Is an Amazon SES inbox free?#

Mailat's software is free and open source. Running it involves hosting, storage and AWS usage. SES charges depend on the services and usage involved; consult the current AWS SES pricing before estimating costs.

Give your SES mail a home#

Once receiving works, you can add filters, aliases, shared mailboxes and n8n workflows around the same inbox.

Start with one domain and one mailbox. Get that first friendly test message through, then build from there.

Self-host Mailat from GitHub, or explore Mailat Cloud hosting from $15/month. AWS usage is separate from managed hosting.