MailSlurp offers two types of inbox: `SMTP` or `HTTP`. Both act like regular email addresses - they can [send and receive emails](/blog/sending-and-receiving-emails-javascript/) and attachments on demand. They differ in which mail server processes inbound emails and whether they can be accessed in clients like [Outlook, Mail, and Exchange](/guides/smtp-imap/).

![inbox types](/assets/app/inbox-type.png)

## HTTP inboxes

HTTP inboxes are the default inbox type. They use AWS SES to process emails and are best used for test email accounts and internal email addresses. They are fast and reliable but **may not support some legacy email clients** such as Outlook. Please use SMTP inboxes for public facing email addresses or if you wish to have traditional SMTP IMAP accesses.

```javascript
await mailslurp.createInboxWithOptions({ inboxType: "HTTP_INBOX " });
```

## SMTP inboxes

SMTP inboxes use a custom SMTP mail server running at `mx.mailslurp.com:2525` and an IMAP server running at `mailslurp.click:1143`. SMTP inboxes supports a wide range of email clients and allow you to use [MailSlurp](/api/) with Outlook, Gmail etc. plus in applications using SMTP/TCP clients.
SMTP inboxes are best used for public facing email accounts that receive emails from customers and external contacts or for advanced access using .

```javascript
await mailslurp.createInboxWithOptions({ inboxType: "SMTP_INBOX " });
```

For a list of [POP3, IMAP, and SMTP](/guides/smtp-imap-pop3-ports/) ports and hosts see the [MailServer guide](/guides/smtp-imap-pop3-ports/).

## Which inbox type should you choose?

Choose `HTTP` inboxes for most test automation, CI checks, webhook-driven workflows, and application-controlled inboxes. They are the simplest default when your code creates inboxes, waits for messages, extracts links, and asserts content.

Choose `SMTP` inboxes when you specifically need traditional SMTP or IMAP access, external clients, or public-facing receive behavior that expects a conventional mail server. If the decision is driven by ports, certificates, or TLS mode, review [SSL for email](/guides/ssl-for-email/) and [STARTTLS vs SSL/TLS](/blog/starttls-ssl-tls/) before changing production settings.

| Need                                                      | Better default |
| --------------------------------------------------------- | -------------- |
| CI signup, OTP, and reset tests                           | HTTP inbox     |
| Webhook-first inbound automation                          | HTTP inbox     |
| Outlook, Gmail, IMAP, or SMTP client access               | SMTP inbox     |
| Public receive path with traditional mail-server behavior | SMTP inbox     |

## Custom domain support

To use custom domains with MailSlurp create a domain that is either `HTTP` or `SMTP` type. The domain type determines the type of inbox that can be used with it. See the [domain creation guide](/guides/custom-domains/) for more information or the [SMTP IMAP access guide](/guides/).

## Next steps by use case

- CI and release testing:
  [Email Sandbox API](/product/email-sandbox/), [Email client testing](/testing/email-client-testing/), and [Campaign testing](/testing/campaign-testing/).
- Sender trust and placement:
  [DMARC monitoring](/email/dmarc-monitoring/) and [Email deliverability test](/testing/email-deliverability-test/).
- Inbound automation:
  [Email webhooks](/guides/email-webhooks/), [Email parser API](/automations/email-parser-api/), and [Email parser integrations](/automations/email-parser-integrations/).

## Diagnose email receiving

If your inbox is not working as expected or is not receiving emails please refer to the [guide on diagnosing email receiving](/support/inbox-not-receiving-emails/).

If the message is rejected by the receiving side instead of simply missing, continue with [SMTP 550 error troubleshooting](/blog/fixing-smtp-550-errors/).
