Email for Your Own Domain: The Complete Setup, Start to Finish
A start-to-finish walkthrough for setting up email on a domain you already own — the records, the mailboxes, the client settings, the old mail, and what week one actually looks like.
A start-to-finish walkthrough for setting up email on a domain you already own — the records, the mailboxes, the client settings, the old mail, and what week one actually looks like.
The moment usually arrives on a phone call. Someone asks for your address, you get three syllables into your own domain name, and then you have to finish the sentence with "at gmail dot com." Small pause on the other end. Nothing bad happens. It just lands differently than it would have.
So you go looking for how to run email on the domain you already pay for, and find forty tutorials that each cover a third of the job.
This is the whole job. Records, mailboxes, client settings, moving the old mail across, and the part nobody writes about — what the first two weeks feel like. We build JustEmails at Velocity Digital Labs, so the settings below are ours; the structure is identical wherever you land.
Four things get mashed together in most guides. Your registrar sold you the domain. Your DNS host answers questions about it — often the registrar, often Cloudflare. Your mail host is where the mailbox lives. Your client is Gmail or Apple Mail or Thunderbird. All four can be different companies, which is why "my domain is at Namecheap" tells you nothing about where the email should go.
The records split into two jobs:
One is about arriving, one about being believed. People set up the first, skip the second, then spend a month wondering why their invoices keep landing in junk.
Two pricing shapes exist and they diverge fast.
Per-user hosts charge for each person. Google Workspace Business Starter and Microsoft 365 Business Basic both list at $7.00 per user per month as of September 2026 (Microsoft's went up from $6.00 on 1 July, so plenty of pages still quote the old number). Check the vendor's own pricing page, not a blog post, ours included.
Flat-rate hosts charge for the account and stop counting. JustEmails is one plan, billed annually: $49 a year, flat, for unlimited custom domains and unlimited mailboxes with a unified inbox across all of them — additional team members are $2 per member per month, and storage beyond the included 10 GB is $99 a year per 100 GB.
Honest version: if you're one person on one domain who already wants Docs and Drive, Workspace bundles an office suite we do not. Flat-rate hosting starts winning at the second domain, or the third person, or the first API key — not before.
Worth weighing today rather than in month four: whether your app will eventually send mail too. Most hosts do mailboxes or transactional sending, not both, and discovering that late means two vendors — see running mailboxes and an API on a single host.
DNS panel in one tab, mail host in the other. Add the domain at the host and it hands you records to publish.
MX. One record, priority 10:
Type Host Priority Value
MX @ 10 mail1.justemails.app
If a guide gives you a second "backup" MX at priority 20, check something real answers there. A backup MX pointing at nothing is a documented route for spam to walk in.
Moving from another provider with mail you want to keep? Read Step 5 before you change MX — the import comes first.
Delete the old MX records before you finish. Leaving a previous provider's MX beside the new one sends some mail to the dead inbox and some to the live one, intermittently, and it takes days to spot. It's the kind of problem that looks exactly like the new host dropping mail, when the old one is still quietly answering half the time.
SPF. One TXT record per domain, always exactly one:
Type Host Value
TXT @ v=spf1 a:mail1.justemails.app ~all
There's no include: in ours, and that detail matters more than it reads. An include: pointing at a hostname with no TXT record authorises zero IP addresses — SPF then fails while your DNS panel shows a flawless-looking record. Already sending through other services? Fold them into this single record instead of adding a second.
DKIM, DMARC and the rest. DKIM signs the message so receivers can tell it wasn't altered in transit; DMARC tells them what to do when SPF or DKIM fail, and where to send reports. The dashboard generates the remaining records for you: DKIM at dkim._domainkey, an ARC key at arc._domainkey, DMARC at _dmarc, a justemails-verify=… TXT at @ that proves the domain is yours, and the MTA-STS pair (a TXT at _mta-sts and a CNAME at mta-sts). The keys and tokens are unique to each domain, so copy them from your dashboard rather than from any guide, this one included. On Cloudflare, one-click connect publishes them for you; at other DNS hosts you paste them in by hand, and the dashboard shows which records are still missing.
One DMARC record only. Registrars often add a default _dmarc record; edit that one rather than adding a second, because domain verification fails when there are two. The record the dashboard suggests uses p=quarantine. If other services already send as your domain and you aren't sure they pass SPF or DKIM, start at p=none with reports going to an address you read, then tighten. Opening with p=reject bounces your own legitimate mail the first time something's misconfigured — the ramp is in going from p=none to p=reject without breaking your email. For the same records written out for Google, Microsoft and Zoho, the full DNS setup guide covers all four.
A little structure here saves a cleanup later. Mailboxes are real inboxes with passwords. Aliases are extra addresses landing in an existing mailbox. Catch-all sweeps up everything undefined at your domain.
Sane shape for a one-person business: one mailbox at you@yourdomain.com, aliases for hello@, billing@ and support@ pointing into it, catch-all on as a safety net. One password to remember, four addresses on your website.
Two cautions. Catch-all ages badly — once the domain has been scraped a few times, every random string becomes deliverable spam. And aliases aren't forwarding, however alike they look; the difference bites when replies go out from the wrong address, untangled in aliases versus forwarding.
Mailboxes and aliases are unlimited here, and creating one never touches billing. Additional team members — separate people with their own logins — are $2 per member per month, owner free.
Every mainstream client wants the same four facts.
| Purpose | Host | Port | Security |
|---|---|---|---|
| IMAP | mail.justemails.app | 993 | SSL/TLS |
| POP3 | mail.justemails.app | 995 | SSL/TLS |
| SMTP submission | mail.justemails.app | 587 | STARTTLS |
Username is the full email address. Password is the mailbox password.
Three things that have each cost somebody an evening:
mail. — not smtp. or imap.. Those hostnames don't exist here and never did, so they fail at name resolution before TLS starts. You get a silent timeout rather than a useful error.Max message size is 25 MB. Fine for contracts. Not for the video someone will try to send you.
Order matters, and getting it wrong is the main way people lose messages.
Create the mailboxes at the new host while your MX still points at the old one. Run the import — we have migration tooling for Google Workspace, Zoho and generic IMAP that keeps folders and labels intact. Let it finish. Then switch MX, and only after that delete the old record. In that order there's never a window where mail lands somewhere nobody is reading, and you can abandon the whole thing halfway with no consequences.
Expect a tail. Whatever TTL your old MX carried decides how long stragglers keep hitting the previous host — 24 hours means a full day of split delivery. Lower it a day before you cut over if you can plan that far ahead. Most people can't. Survivable either way.
This is what separates working setups from the ones people give up on.
New sending domains are rate-limited everywhere. Here, a freshly verified domain gets no more than 50 sends a day in its first week, 200 in the second, and up to 500 from day 15. Read those as ceilings, not promises — your actual allowance in the opening days can run lower depending on account history. There's also a ceiling of 100 distinct recipients per hour.
Nothing is broken. You're inside a ramp, and the ramp is what makes the mail deliverable later. Three details worth remembering:
Which settles a question people ask: this isn't a newsletter backend. The SMTP config connects to Listmonk or Mautic happily and then walks into the daily wall. If bulk is the job, use a bulk ESP.
Records get clobbered. A marketing tool rewrites SPF, or the domain moves registrar and the TXT records don't follow. Six months later mail quietly starts failing and nobody connects it to a change made in spring. So we watch verified domains and email you when SPF, DKIM, DMARC or MX drifts — the feature nobody shops for and then won't give up. Same argument our sister product makes about building a status page from uptime data: things that fail silently need something watching them.
Also in the box: MTA-STS and DANE/TLSA, BIMI with VMC, DKIM key rotation, blocklist monitoring across five DNSBLs. The gaps: no calendar, no contacts, no native mobile apps, no SSO or SAML, and sending is from shared infrastructure — dedicated IPs aren't offered. If any of those is load-bearing, buy elsewhere and don't let a $49 price tag talk you out of it.
Yes. A website and a mailbox are unrelated — the first uses A or CNAME records, the second uses MX records, and neither needs the other to exist. If you own the domain and can edit its DNS, you can run email on it today with no hosting, no landing page, and no code. Plenty of people register a domain purely for the address.
A mailbox is real storage with its own password and login. An alias is a second address that drops into an existing mailbox — no separate password, no extra storage. A catch-all takes every address at your domain that isn't otherwise defined and funnels it into one inbox, which is handy for a small business and a spam magnet once the domain gets old enough to be scraped. On JustEmails all three are unlimited on the $49/year plan.
Add the domain and create the mailboxes at the new host first, but leave your MX records pointing at the old one. Run an IMAP import to copy the mail across — JustEmails has migration tools for Google Workspace, Zoho and generic IMAP that preserve folders and labels. Only after the copy finishes do you switch MX, and only then do you delete the old record. Sending stops for nobody and no message lands in a mailbox that doesn't exist yet.
Hands-on time is roughly 30 minutes. New DNS records usually show within minutes and can take a few hours, and the TTL on your old records decides the tail — a 24-hour TTL means some senders keep using the old MX for a full day. Receiving works almost immediately; sending is throttled for the first couple of weeks while the domain builds a reputation, which is normal at every host.
Before you call it done: send one message out and one in, then read the headers. In Gmail that's three dots → Show original, and you want SPF, DKIM and DMARC all reading PASS. MXToolbox reads your records back in plain English for free and catches the two classic typos — a duplicate SPF record, a missing underscore in _dmarc. If mail is already going astray on a domain you just bought, deliverability after a domain purchase covers the reputation you inherited.
There is a 7-day trial: a card is required, and you aren't charged until it ends. It's enough to prove mail flows, not enough to build an integration against — the trial has no API access, so build against the API on the paid plan. Refunds run 14 days from the first charge.
Unlimited custom domain email hosting for $49/year flat — unlimited domains, unlimited mailboxes, 10 GB storage, full IMAP/SMTP. Built for agencies, freelancers, and anyone managing email across more than one domain.