Send email from your own domain
Mocco emails people on your behalf: a status page subscriber confirming their address or hearing about an incident, someone voting on your feedback board by email, a follower of a post that shipped. Until you add a domain, that mail comes from Mocco's address with your project's name, as ShowYourTime via Mocco. With your own domain it comes from you, as ShowYourTime <help@showyourti.me>, signed for your domain so mail providers trust it.
It takes three steps: add the domain, publish a few DNS records, and pick the address each project sends from.
What you need
A Mocco server that sends email through Amazon SES. Mocco's own servers do. On a self-hosted server without it, Email → Sending domains says that sending domains need the SES driver.
To be an owner or admin of the workspace. Members see the domains and the senders but can't change them.
Access to your domain's DNS (for example, Cloudflare).
1. Add the domain
Open Email → Sending domains in the workspace's sidebar. In Add a domain, type the domain, for example showyourti.me, and keep MAIL FROM subdomain as bounce. Choose Add domain.
A domain belongs to the workspace, so every project in it can send from it. The domain is Pending until its records are found. A workspace has up to 5 sending domains and adds up to 10 a day.
Mocco refuses its own domains, and a domain (or a parent or subdomain of one) that another workspace has verified. If another workspace started adding the domain but never verified it, Mocco asks you to prove the domain is yours: publish the TXT record it names (_mocco-verify.<your domain>) and add the domain again.
2. Publish the records
Under the domain, DNS records lists what to add at your DNS host. Each row has the record's type, its name (short, as most DNS hosts want it, with the full name below) and its value, each with a copy button.
| Type | Name | Value | |
|---|---|---|---|
| CNAME (×3) | <token>._domainkey | <token>.dkim.amazonses.com | Required |
| MX | bounce | feedback-smtp.ap-northeast-2.amazonses.com, priority 10 | Recommended |
| TXT | bounce | v=spf1 include:amazonses.com ~all | Recommended |
The three CNAME records are DKIM: they let mail providers check that mail from your domain was signed for it. They alone verify the domain. The MX and TXT records on bounce make bounces come back to your own subdomain and let SPF align with your domain too.
On Cloudflare, open your domain's DNS → Records and choose Add record for each row: pick the type, paste the name and the value, and set Proxy status to DNS only (the grey cloud). A proxied CNAME breaks DKIM. For the MX record, type 10 as the priority.
Leave your root MX and SPF records alone. If Google Workspace (or another mail service) already receives your domain's mail, nothing changes for it: the new MX and SPF records live on bounce, not on the domain itself.
DMARC. Below the records, Mocco reads your domain's _dmarc record. If you already publish one, it says so: keep it, and don't add a second, because two DMARC records invalidate each other. If you have none, it suggests v=DMARC1; p=none; rua=mailto:<your address> as a TXT record on _dmarc, with your own address in place of <your address>. Once the reports look clean, you can move to p=quarantine.
3. Check it
Mocco checks pending domains every 10 minutes, so you can wait, or choose Check now (once a minute per domain). Once the CNAME records are found, the domain is Verified. That usually takes a few minutes after you publish them; if they aren't found within 72 hours, the domain is Failed. Publish the records, then Check now starts verification again; it may show new records to publish.
4. Pick each project's sender
Open the project's Inbox, then Settings → Email sender. Pick the domain (only verified ones are offered), type the address, such as help, and optionally a name and a Reply-To:
Name is what people see. Leave it empty to use the project's name.
Reply-To is where answers go. Leave it empty and replies reach the address itself, which is whatever mailbox you run there.
The card previews the header, for example ShowYourTime <help@showyourti.me>. Choose Save sender. From then on, every email the project sends goes out from it. Use Mocco's address clears it.
If no domain is verified yet, the card links to Sending domains instead.
Limits and pauses
A daily limit. A workspace sends up to 1,000 emails a day from its own domains; Sending domains shows the last 24 hours against it. Past the limit, mail goes from Mocco's address until the count drops.
A pause on bounces and complaints. Over the last 7 days, once a workspace has sent at least 200 emails from its domains, more than 5% of them bouncing or more than 0.1% marked as spam pauses mail from its domains. Sending domains shows the pause. Mail then goes from Mocco's address, and Mocco's operator resumes the domains after looking into it.
Neither stops your mail: it only changes the address it comes from.
When a record breaks
Mocco checks verified domains once a day. If a check fails, the domain shows a warning and mail still goes out: a single failed lookup is often DNS flapping. If the check a day later fails too, the domain is Revoked: projects that send from it go back to Mocco's address until the records are back. Publish them again and choose Check now; the domain returns to Verified and the senders resume by themselves.
A domain that never verified and has stayed Failed for a week is removed.
Removing a domain
Remove asks first and lists the projects that send from the domain. Removing it clears their senders, so their mail goes from Mocco's address again. Afterwards you may delete the domain's DKIM, MX and SPF records. Adding the domain again later means publishing new records.
Adding, verifying and removing a domain, and every sender change, are in the audit log.
From your agent
An agent connected to Mocco (Connect Mocco to your agent) can do the same: mocco_email_domains_list reads the domains (any member), mocco_email_domain_add adds one and answers with the records, mocco_email_domain_verify checks now, mocco_email_domain_remove removes one, and mocco_email_sender_set sets or clears a project's sender. The changes ask for their own permission the first time: Send email from your domains as you: add, check and remove sending domains and choose each project's sender.