Documentation navigation

Set Up Your First Domain

After installing MarkRelay and signing in, connect a domain so MarkRelay can receive and send its email. It takes about 15 minutes, most of it waiting for Cloudflare.

How to Set Up Custom Domain Email on Cloudflare | MarkRelay Guide #2

Before you start

  • The domain is in your Cloudflare account, using Cloudflare DNS.
  • To send, the account is on the Workers Paid plan, which includes Cloudflare Email Sending.
  • You are signed in to MarkRelay as the administrator.

Step 1: Add the domain in MarkRelay

  1. Open Manage → Domains and select Add domain.
  2. Enter the domain, such as example.com (no @ or https://), and select Create domain.

MarkRelay then shows the Cloudflare steps below. To see them again, open the domain and select Configure.

Step 2: Turn on receiving in Cloudflare

Cloudflare Email Routing delivers the domain's incoming mail to MarkRelay.

  1. In the Cloudflare dashboard, open Compute → Email Service → Email Routing and onboard the domain. Cloudflare adds the DNS records.
  2. Go to Routing Rules and edit the Catch-all rule.
  3. Set the action to Send to a Worker, choose your MarkRelay Worker (markrelay-mail-app unless you renamed it), and turn the rule on.

The catch-all rule sends every address of the domain to MarkRelay. To route only some addresses, add one rule per address instead.

Step 3: Turn on sending in Cloudflare

Cloudflare Email Sending lets MarkRelay send from the domain. It is included in the Workers Paid plan.

  1. Open Compute → Email Service → Email Sending and select Onboard Domain.
  2. Choose the domain and select Done. Cloudflare adds the DNS records.
  3. Wait until the domain shows as verified, usually 5–15 minutes.

Step 4: Create a mailbox

  1. In MarkRelay, open the domain and select Add mailbox.
  2. Enter the Email address, such as support, and a Display name, such as Support.
  3. Select Create mailbox.

Step 5: Test it

  1. From another email account, send a message to support@example.com. It appears in MarkRelay's Webmail.
  2. Reply from Webmail. The reply arrives in the other account.

Your domain is ready. Add more mailboxes the same way, as you need them.

If something goes wrong

ProblemWhat to check
Mail does not arriveThe Email Routing rule is on and sends to your MarkRelay Worker, and the mailbox exists. Manage → Logs in MarkRelay shows what was received.
Sending failsThe domain is verified under Email Sending in Cloudflare.
Replies land in spamWait until Email Sending is verified, then see Deliverability.

Recommended next

Give MarkRelay its own address

Links in invitations and broadcasts use the address you set up MarkRelay on. A shared workers.dev address can hurt deliverability, so use your own, such as mail.example.com:

  1. In Cloudflare, open your Worker → Settings → Domains & Routes and add a custom domain.
  2. In MarkRelay, enter it under Manage → Settings → App URL.

Track broadcast delivery

If you send broadcasts, let MarkRelay see whether each email was delivered, bounced, or marked as spam. Do this once per sending domain:

  1. In Cloudflare, open Compute → Queues and select markrelay-mail-email-events-queue.
  2. On Subscriptions, select Subscribe to events.
  3. Choose Email Sending as the source, then the domain.
  4. Subscribe to message.delivered, message.deferred, message.bounced, message.failed, message.rejected, and message.complained.

Without it, broadcasts still send, but their delivery status stays pending, and spam complaints are not added to suppressions.

Invite your team

Invite people from Manage → Members and give each the mailboxes they work with. See Members & access.