Bytloop MailDocs
Status

Getting started

  • Introduction
  • Quickstart

Sending email

  • Send a transactional email
  • Sending domains vs mailboxes

Framework guides

  • Send email from Next.js
  • Send email from Ruby on Rails
  • Send email from Django
  • Send email from Laravel

Domains

  • Verify a domain

Receiving email

  • Receive email
  • Webhooks

Reference

  • Rate limits
  • Errors
  • SDKs

Receiving email

Receive email

Route inbound mail into a Bytloop mailbox so your team can reply.

Inbound email lets a mailbox on one of your verified domains accept messages from outside. Once configured, incoming mail is parsed, threaded with any existing conversation, labelled, and dropped into the matching mailbox in /mail — plus fired at any webhook endpoint subscribed to email.received.

Prerequisite: verified domain#

Inbound reuses the same domain verification the sending API uses. If send.acme.com is verified, you can accept mail at any address on it — support@send.acme.com, hi@send.acme.com, whatever you name a mailbox. Follow Verify a domain first if you have not already.

1. Add a mailbox#

In Settings → Mailboxes click New mailbox and give it a local part (support, hello, contact). Bytloop assigns the full address on your verified domain. Pick a display name and, optionally, a signature block that appends to outbound replies from this mailbox.

2. Publish the MX record#

Every domain that accepts mail needs an MX record telling the sending world where to deliver. Add this record at the same DNS host you used for domain verification:

TypeHostPriorityValue
MXsend.acme.com10inbound.bytloop.mail.

If the domain already has MX records pointing to another provider, you have to decide who wins — MX records are per-domain, not per-address. For a subdomain dedicated to Bytloop (send.acme.com) this is usually fine; for the root domain (acme.com) it means Bytloop takes over all inbound for the entire domain.

DNS propagation for MX changes is normally a few minutes but the TTL you had on the previous record sets the ceiling.

3. Verify inbound is live#

Send an email to the new mailbox from any outside address. Within a few seconds it should appear in /mail threaded under whatever the subject line is. If it does not:

  • Check the domain's inbound status in Domains — the card turns green once Bytloop has seen mail arrive successfully.
  • Confirm the MX record with dig +short MX send.acme.com — it should return 10 inbound.bytloop.mail. and nothing else.
  • Look for a bounce back to the sender's inbox; a mailbox provider that can't reach inbound.bytloop.mail returns a delivery-status notification with the exact reason.

What Bytloop does with the message#

Once accepted, Bytloop:

  1. Parses MIME parts (HTML, text, attachments, inline images) and normalises them for the inbox view.
  2. Threads the message under any existing conversation matched by In-Reply-To / References headers or subject heuristics.
  3. Applies any filters configured on the mailbox — labels, auto-archive, out-of-office replies.
  4. Fires an email.received webhook to every subscribed endpoint.

Attachments over the per-plan cap (see Rate limits) are stored but not surfaced inline; the sender is not bounced.

Programmatic access#

If you would rather receive inbound events over your own HTTPS endpoint than through the shared inbox, subscribe to email.received on a webhook. The payload includes the parsed body, all headers, and download URLs for attachments (signed, expire in 24h).

Next#

  • Set up filters and auto-responders so common inbound patterns are handled without a human.
  • Wire a webhook if you want inbound events in your own system as well.
PreviousVerify a domainNextWebhooks

On this page

  • Prerequisite: verified domain
  • 1. Add a mailbox
  • 2. Publish the MX record
  • 3. Verify inbound is live
  • What Bytloop does with the message
  • Programmatic access
  • Next