A new domain with no working email looks unfinished. This fixes it without a Google Workspace bill, a new inbox to check, or any monthly cost. About 30 to 60 minutes, most of it spent waiting on DNS to propagate.
BEFORE YOU STARTWhat you need, and how it works
What you need:
- A domain name you own (bought from any registrar: Hostinger, GoDaddy, Namecheap, etc.).
- A free Cloudflare account (cloudflare.com).
- A Gmail account that will receive and send your business email.
- About 30–60 minutes, mostly spent waiting for DNS changes to take effect.
How this works
Cloudflare Email Routing is a free forwarding service. It does not give you a new inbox. Instead, any email sent to [email protected] is instantly forwarded to your existing Gmail. For outgoing mail, you connect Gmail's "Send mail as" feature so replies appear to come from your business address. The result: one Gmail inbox, a professional identity, no monthly cost.
Paid options like Google Workspace ($6+/user/month) or Zoho give you a real mailbox, but for a solo founder or small business starting out, forwarding covers 95% of the need at zero cost. You can upgrade later without changing your address.
The three moving parts
- DNS (nameservers): points your domain at Cloudflare.
- Email Routing (MX): tells the internet Cloudflare accepts your mail.
- Gmail SMTP: lets Gmail send using your business identity.
PART 1Add your domain to Cloudflare
Step 1: Create an account and add the domain
- Go to
dash.cloudflare.comand sign up (or log in). - Click Add a domain and type your domain, e.g.
yourdomain.com. - Select the Free plan and continue.
Cloudflare needs to manage your domain's DNS to run Email Routing. The Free plan includes everything required, so you never need a paid plan for email forwarding.
Step 2: Let Cloudflare import your DNS records
- Cloudflare automatically scans your existing DNS records (website A records, CNAMEs, etc.).
- Review the list, then click Continue. Don't delete anything at this stage.
Importing existing records keeps your website and any other services working after the switch. A missing A record would take your site offline.
Step 3: Note your assigned nameservers
Cloudflare shows two nameservers unique to your account, for example:
ada.ns.cloudflare.com
rick.ns.cloudflare.com
Keep this tab open. You'll paste these into your registrar next.
PART 2Change nameservers at your registrar
Nameservers tell the internet who answers questions about your domain. Right now your registrar answers; after this step, Cloudflare does. The example below uses Hostinger. Other registrars have an equivalent screen, usually under "DNS" or "Nameservers".
Steps (Hostinger)
- Log in to
hpanel.hostinger.com. - Go to Domains → find your domain → click Manage.
- In the sidebar, open DNS / Nameservers.
- Click Change nameservers and choose the custom/manual option (not "Use Hostinger nameservers").
- Paste Cloudflare's two nameservers into Nameserver 1 and Nameserver 2, with no spaces and no trailing dots.
- Save and confirm the warning that DNS will now be managed elsewhere.
- Back in Cloudflare, click Done, check nameservers.
This hands DNS control to Cloudflare. Without it, the MX records Cloudflare creates later would never be visible to the rest of the internet, and no mail could reach you.
Waiting for activation
Propagation usually takes 15 minutes to 2 hours (up to 24 in rare cases). Cloudflare emails you when the domain turns Active. You can force a re-check from the domain's Overview page.
PART 3Set up Email Routing (receiving)
Once the domain is Active in Cloudflare, open your domain and go to Email → Email Routing. The setup has three pieces: a verified destination, a routing rule, and DNS records. Do them in this order.
Step 1: Add and verify your destination address
- Open the Destination Addresses tab.
- Click Add destination address and enter your Gmail.
- Open the verification email Cloudflare sends (check Spam and Updates tabs) and click Verify.
- The address must show status Verified before anything will forward.
Verification proves you own the inbox. It prevents someone from routing a domain's mail into a stranger's mailbox. Cloudflare silently refuses to forward to unverified addresses.
Step 2: Create the routing rule
- Open the Routing rules tab and click Create address.
- Custom address: enter the part before @, e.g.
hello. - Action: Send to an email → select your verified Gmail → Save.
The rule is the actual mapping: "mail addressed to hello@ goes to this Gmail." Optionally enable a catch-all rule so misspelled addresses also reach you.
Step 3: Enable the DNS records
Cloudflare should prompt you with Add records and enable. Click it, and. The status at the top must then read Enabled / Configured.
If no enable button appears, add the records manually under your domain → DNS → Records:
MX @ priority 58 route1.mx.cloudflare.net
MX @ priority 60 route2.mx.cloudflare.net
MX @ priority 60 route3.mx.cloudflare.net
TXT @ "v=spf1 include:_spf.mx.cloudflare.net ~all"
MX records are the internet's directory entry for "who accepts mail for this domain." The SPF TXT record tells receiving servers that Cloudflare is authorized to handle your mail, which reduces spam flagging. Delete any old MX records (e.g. your host's) first, but never touch A/CNAME records, which run your website.
cloudflare, not cloudfare. A single missing letter keeps the status stuck on "Not configured".PART 4Send as your business address from Gmail
Cloudflare only receives. To reply from [email protected], connect Gmail's "Send mail as" feature using an app password.
Step 1: Create a Google app password
- Go to
myaccount.google.com/securityand make sure 2-Step Verification is ON. - Go to
myaccount.google.com/apppasswords. - Name it (e.g. "Business email") and click Create.
- Copy the 16-character password. It it's shown only once.
Gmail's SMTP server no longer accepts your normal password from external configurations. An app password is a limited-scope credential made exactly for this. The app-passwords page only exists after 2-Step Verification is enabled.
Step 2: Add the address in Gmail
- On desktop, open gmail.com → gear icon (top right) → See all settings → Accounts and Import tab.
- Under "Send mail as", click Add another email address.
- Name: your business name (what recipients see). Email:
[email protected]. - On the SMTP screen enter the details below, then click Add Account.
SMTP server: smtp.gmail.com
Port: 587 (TLS)
Username: your full Gmail address
Password: the 16-character app password
Step 3: Confirm ownership
Gmail emails a confirmation code to your business address. Because Part 3 forwards that address to your Gmail, the code arrives in your own inbox (check Spam). Enter it to finish.
This loop, where Gmail sends a code to the business address and Cloudflare forwards it back to Gmail, is also your first end-to-end proof that forwarding works.
Step 4: Recommended Gmail settings
- In Accounts and Import, optionally click make default next to the business address.
- Set "When replying to a message" to Reply from the same address the message was sent to.
With reply-matching on, client emails are automatically answered from your business identity, so you won't accidentally reply from your personal Gmail.
PART 5Test, fix spam, and finish
Test both directions
- From another account, send an email to your business address → it should reach Gmail within a minute.
- Check Cloudflare's Activity Log. The message should appear with status Forwarded.
- In Gmail, compose a new email, choose the business address in the From dropdown, and send it to a friend.
First emails land in Spam: that's normal
A brand-new domain has no sending reputation, so Gmail is cautious for the first few messages.
- Open the email in Spam and click Not spam.
- Optional: create a Gmail filter for messages to
[email protected], set to never send to Spam.
Gmail learns from your corrections, and reputation builds automatically as the domain ages and receives normal traffic. Cloudflare's DKIM record (added automatically) also helps deliverability.
Known limitation and the upgrade path
Because Gmail's SMTP sends "on behalf of" your domain, some recipients may occasionally see a "via gmail.com" label, and deliverability is slightly weaker than a real mailbox. This is fine for a starting business. When you begin emailing clients regularly, consider:
- Zoho Mail Free: a real mailbox on your domain, up to 5 users (web/mobile access).
- A free SMTP relay (e.g. Brevo) with your own DKIM, which removes the "via gmail.com" label.
- Google Workspace: full Gmail on your domain, paid per user.
Your address never changes across these upgrades. Only the machinery behind it does.
TROUBLESHOOTINGCommon issues and exact fixes
Domain stuck on "Pending" in Cloudflare for hours
Check the nameservers at your registrar for typos, extra spaces, or trailing dots. Then check whether DNSSEC is enabled at the registrar. If it is, disable it and re-check. This is the single most common blocker.
Verification email from Cloudflare never arrives
Search all of Gmail for "cloudflare": it usually sits in Spam or the Updates tab. Confirm the destination address shows as Pending in the dashboard, then use its options menu to resend. As a last resort, delete and re-add the address to trigger a fresh email.
Status stays "Disabled / Not configured" even though DNS records exist
Compare every MX hostname letter-by-letter against route1/2/3.mx.cloudflare.net. A typo like "cloudfare" is invisible at a glance but breaks detection. Also ensure old MX records from your previous host are deleted. After fixing, allow a few minutes; the status may briefly show "Syncing".
Test email never arrives and the Activity Log is empty
An empty log means the mail never reached Cloudflare, almost always because of DNS propagation. Wait 15–20 minutes and test again, ideally from a different provider, since the sender's server may have cached old MX records.
Activity Log shows "Forwarded" but Gmail has nothing
It's in Gmail. Search all mail including Spam for the sender or subject. Forwarded mail from a new domain very often lands in Spam at first; mark it Not spam.
App passwords page says "not available for your account"
First confirm 2-Step Verification is actually ON (myaccount.google.com/security); the page is hidden without it. If 2FA is on but uses only passkeys or security keys, add a phone number or authenticator app as an extra method, then reload the app-passwords page. Accounts managed by an organization or enrolled in Advanced Protection cannot create app passwords; in that case, skip Gmail SMTP and use a free relay instead (e.g. Brevo: verify your domain there, then use its SMTP host and credentials in the "Send mail as" screen).
Can't find the gear icon / "Accounts and Import" in the Gmail app
Part 4 cannot be done in the Gmail mobile app. Those settings only exist at gmail.com in a desktop browser. Complete the setup once on a computer; afterwards the business address is available in the From dropdown on mobile as well.
Gmail rejects the SMTP password
You must use the 16-character app password, not your normal Gmail password, and the username must be your full Gmail address. If the app-passwords page is missing, 2-Step Verification isn't enabled yet.
Website went down after switching to Cloudflare
An A or CNAME record was lost or deleted. In Cloudflare → DNS → Records, re-add the A record pointing to your host's IP (find it in your hosting panel). Only MX records should ever be deleted during this setup.
You're done. One professional address, zero monthly cost, and a clean upgrade path when the business grows.